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 once, ask forever
The cacheKicktipp 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.
$ 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 statsstats 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.
$ 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 rivalEvery 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.
$ 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 suggestKicktipp prints bookmaker odds next to every match. suggest converts them into probabilities and proposes a full slip — explaining every pick.
The favorite's slip
Backs the likeliest outcome of every match. Low variance, steady points — the strategy for defending a lead.
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.
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.
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
Hypotheticalskicktipp 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.
$ 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.
$ 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 rulesEvery 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.
$ 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.
