DashboardAnalyticsAI AgentsSecurityGet StartedChangelogDeutsch

Analytics · computed on your machine

Answers Kicktipp itself can't give.

Sync the season into a local cache once. Then ask about your form, your biases, your rivals, and what it takes to take the lead — from data your community already has. The curve spells the answers.

sync per matchday is enough
3
suggestion strategies
0
API keys or external data
100%
computed on your machine

Sync once, ask forever

The cache

Kicktipp shows you one matchday at a time. The analytics need the whole season, so kicktipp sync walks it once — pacing its requests politely — and stores every matchday in a local cache. Later runs are smart about it: finished matchdays are never fetched again, still-upcoming ones are skipped, and only an open matchday gets refreshed. A typical re-sync touches one page.

bash
$ kicktipp sync          # update the cache (current matchday and holes)
$ kicktipp sync --to 34  # walk the rest of the season anyway
$ kicktipp cache status  # what's stored, and how fresh

Everything downstream reads that cache. stats needs no network at all, and rival and suggest accept --offline to work the same way — on a train, in a stadium, wherever. The cache lives in your platform's data directory (~/.local/share/kicktipp-agent on Linux) and kicktipp cache clear deletes it without ceremony.

Know your own game

kicktipp stats

stats reports your points per matchday against the league average, your rank history, and how your hits break down — exact result, goal difference, tendency, miss. It compares what you predicted with what actually happened, so patterns you can't see in the weekly table become obvious: maybe you systematically overrate favorites, or you haven't hit a single away win all season.

It also measures consistency, and it always states how many matchdays the numbers rest on — a hot streak over three matchdays is labelled as exactly that, not dressed up as a season insight.

bash
$ kicktipp stats                 # your form, hit types, biases
$ kicktipp stats --player Papa   # or somebody else's

Yes, --player works on anyone in your community. Their bets are public after each deadline anyway — this just does the counting.

The overtake report

kicktipp rival

Every Kicktipp community has that one player you actually measure yourself against. rival turns the feeling into numbers: the current points gap, how much each remaining match can still swing it, and what concretely would have to happen for you to pass them.

bash
$ kicktipp rival Papa
 Rival watch — you vs Papa

 Gap             -7 pts
 Max swing left  +38 pts
 Overtake if     2 exact hits this matchday

One honest detail: Kicktipp hides other players' bets until each deadline passes. Before kickoff, the analysis cannot know what your rival tipped — so the answer is given as best and worst bounds, and labelled as such. No fake precision.

Bet slips from the odds

kicktipp suggest

Kicktipp prints bookmaker odds next to every match. suggest converts them into probabilities and proposes a full slip — explaining every pick.

safe

The favorite's slip

Backs the likeliest outcome of every match. Low variance, steady points — the strategy for defending a lead.

$kicktipp suggest --strategy safe
ev

Expected value

Maximises expected points under your community's own scoring rules — it knows what an exact hit is worth in your round, not in general.

$kicktipp suggest --strategy ev
contra

The chasing slip

Fades the favorite in close matches. High variance on purpose — for when 4th place with five matchdays left needs something to happen.

$kicktipp suggest --strategy contrarian

You can set a default strategy in the config, pin individual matches you feel strongly about, or use the auto strategy and let it pick based on your position in the table. suggest prints and stops. Submitting needs an explicit --place, which asks first — and matches that already have a bet are left alone unless you pass --replace.

This is odds arithmetic, not prediction magic. The probabilities come from the bookmaker prices Kicktipp already shows. No external data source, no API key, no model that claims to know football better than the market.

Scenarios and season replays

Hypotheticals

kicktipp scenario — project the table

What does the leaderboard look like if Bayern wins 2:1 tonight? What set of results would put you first? scenario replays the scoring rules over hypothetical results and prints the projected table.

bash
$ kicktipp scenario "Bayern vs BVB=2:1"   # project one result
$ kicktipp scenario --target 1            # what would put you first

kicktipp whatif — replay the season

The nagging question after a bad matchday: would the boring strategy have done better? whatif re-runs the entire season with a different approach — a fixed bet on every match, or one of the suggestion strategies — and shows where you would have finished.

bash
$ kicktipp whatif "2:1"          # the person who always tips 2:1
$ kicktipp whatif suggest:ev     # the ev strategy, all season

Sometimes the answer is humbling. That's the point.

Verified, not assumed

Scoring rules

Every feature that counts points reads your community's rules page to learn what an exact result, a goal difference, and a tendency are worth — and whether any matchday counts double. If the page can't be parsed, Kicktipp's 4/3/2 defaults are assumed and every affected output says so. You can also set the values explicitly in the config.

bash
$ kicktipp rules --verify   # recompute a finished matchday, compare with Kicktipp

--verify recomputes every player's score for a finished matchday and checks it against the numbers Kicktipp itself reported — the only real proof the model matches your community. It exits 1 on a mismatch.

Your league table, decoded.

One sync away. Works offline after that.