That the stronger side usually wins is already priced into the odds, so a forecast only becomes useful where the market's price and the real probability come apart. Picktory runs statistical and machine-learning models trained on each league's match history to produce win, draw, and loss probabilities, then publishes a pick only where that probability beats the market price.
Asking a language model who wins returns a fluent sentence that cannot be scored. Four things separate the two approaches. A model outputs a distribution that sums to one, so the error can be measured once the match ends. Every input is cut to the state just before kickoff, and matches starting at the same time are computed as one batch, so no row can see another's result. Calibration is checked directly: matches called at 70% are expected to land 70% of the time, and the probabilities are pulled back into line when they do not. Finally, the same input always returns the same probability, and every published pick is settled afterwards.
The same sequence runs every day, per league. Fixtures, final scores, team and player records, lineups, absences, and odds from several bookmakers are loaded first; where coverage is thin, that league publishes less for the day or stops. Team strength (Elo), recent form, home and away splits, rest and schedule density, and scoring-timing profiles are then computed from pre-kickoff information only. The model selected for that league produces probabilities, temperature scaling tempers an over-confident distribution, and the result is compared against market probabilities with the bookmaker margin removed. Only matches clearing both the expected-value and sample conditions become official picks.
No single model is pushed onto every league, because sample size and data quality differ. Candidate models run side by side and whichever actually performs in that league becomes primary, with a second kept as a guardrail. A new candidate is promoted only after seasons are cut in chronological order and it is retrained and re-predicted across several folds without ever seeing a match after its own cut; log loss and Brier score both have to improve while calibration error and calibration slope must not regress; and a paired bootstrap has to show the gain is more than a lucky sample. Failing any one condition leaves the incumbent in place.
Picks are published before kickoff and settled against the final result. The service keeps fixed 7-day, 30-day, 90-day, season, and all-time windows, including losing periods, and applies the same definitions to league, market, and tipster slices, so any published number can be recomputed from the public records.
ROI = sum of settled profitLoss divided by sum of settled stake, multiplied by 100. WIN, LOSE, PUSH, VOID, and CANCEL stake is included; PENDING is excluded. Stake and profit or loss are public record units, not realized betting-account returns.
Hit rate = WIN divided by WIN plus LOSE, multiplied by 100. PUSH, VOID, and CANCEL are excluded from this denominator.
Average CLV = the arithmetic mean of available record-level CLV percentages. Same-source, cross-source, and overall coverage remain separately visible. A zero denominator displays as unavailable, not as 0%.
recordId and identitySha256 identify the stable pick identity. publicationContentSha256 fingerprints the public selection, odds, stake, and source-recorded publishedAt value. settlementContentSha256 fingerprints the later result, profit or loss, and settlement time. contentSha256 covers the complete record. integrity.projectionContentSha256 identifies the canonical core containing the as-of date, periods, slices, records, sources, and forward evidence; it is not a byte-level hash of the whole JSON file.
A hash is a fingerprint for detecting changes to included values, not third-party certification and not proof that an upstream source is independently true. The current public JSON is also not an immutable, versioned correction ledger: a corrected settlement changes the settlement, record, and projection hashes. The source-recorded publishedAt value does not independently prove that every historical pick was published before eventTime. Historical ROI, hit rate, and CLV do not guarantee future results.
Open the raw performance projection · Review settled history · Review data-source boundaries
More detailed tables, filters, and navigation become available after the interactive app finishes loading.