Altora Analytics

Research log

What we tested, what shipped, and what we refuted. Negative results are published here on equal footing with positive ones. An idea that fails an honest test and gets removed is the system working, not failing.

July 2026Dropped

Basketball: box-score pace features for totals, killed by the serving gate

The idea was sound: pace and shooting efficiency should predict total points, and an exploratory study agreed, beating a simple baseline by 1.3% with the improvement holding in every resample. Then it faced the real test: added to our full production totals model and judged on both chronological halves of 2024–26 held-out data.

It failed both halves. The production model's existing features (rolling scoring rates, league context, ratings) already contain what pace was adding, so the extra features made predictions slightly worse, not better. The same thing happened when box scores were tried for match-winner in July. Conclusion twice over: box-score features are redundant with our feature set, and the daily harvesting they would have required is cancelled. A promising idea that dies at the gate is the system working. Published here so it stays dead.

July 2026Registered

All sports: can the model beat the opening price? (rules fixed before the data)

Registered 27 July 2026, before results exist. Since today our exchange recorders sample every market two-hourly under a plausibility gate (a book only counts with sane two-sided prices and matched volume), so openers and closes are now captured cleanly. The question: when our model disagrees with the opening price, does the market move our way by the close?

The rules, fixed now: measure closing-line value on the side the model favours at opener time, per sport. A sport counts as a REAL edge only with 200+ settled two-sided captures AND positive CLV in both chronological halves of the sample. Anything less is reported as unproven. First read: September 2026, and the numbers will be published here either way — a negative answer ends the idea in public, same as always.

July 2026Shipped

Basketball & handball: totals and handicap models gated, now recording

Pre-registered study (features, model parameters and split fixed before any results were seen): predict each game's total points and winning margin, gate on both chronological out-of-sample halves of 2024–26. All eight cells passed. The margin models beat a rolling-league baseline by 19% (basketball, 79k held-out games) and 28% (handball, 32k) on mean error; totals by 6–8%; and 1σ coverage sat at 0.66–0.69 in every half, so the probabilities derived from these predictions are honest about their own uncertainty.

The usual caveat, stated up front: beating a naive baseline is not beating the market. Both models now record bookmaker opening and closing Over/Under and handicap lines silently, captured from the same odds calls the winner models already make. The market verdict — closing-line value — accrues from the autumn restarts, and nothing joins the public record before the betting rules are pre-registered.

July 2026Shipped

Football: pre-season threshold freeze, swept and confirmed on both halves

Before the 2026-27 season we rebuilt the gate-sweep harness (verified by reproducing the July study near byte-for-byte), re-swept every market on data through July, and froze the gates that passed a strict rule: positive on both chronological halves, thirty-plus bets in each. BTTS was the headline, with a stable value plateau the old gate was missing. Three honest negatives are published alongside: no profitable 1X2 value gate exists, no profitable Double Chance gate exists, and Over/Under 1.5's sweep data is contaminated by mis-lined historical quotes, so its gates stay put rather than being tuned on bad numbers. One pre-committed revision date: 1 November. Rules first, record second.

July 2026Refuted

Esports: a dedicated LoL rating model, second attempt with better data, same answer

Dedicated per-title models halved our gap to the market in Dota 2 and CS2, so LoL got the identical test on 45,000 new match histories. Result: probability quality improved slightly on both halves of the held-out sample, but winner accuracy fell on one half, and our rule is that an upgrade must win on both measures, in both halves, or it doesn't ship. LoL stays on the shared rating pool, which turns out to be genuinely decent at LoL. Two clean refutations means we stop here unless materially new information (side/patch context) becomes available. Re-running the same test until it passes is not research.

July 2026Refuted

Esports: deriving map-score lines (2-0 vs 2-1) from the rating model

Pre-registered before analysis, tested on 86,000 completed best-of-3 series across CS2 and Dota 2. First finding stands on its own: maps within a series are far from independent: the team that takes map one wins map two 22–30 points more often than independence predicts. Even after fitting the single momentum correction the registration allowed, predicted score probabilities missed observed rates by up to 9 points in parts of the range. A number that far off doesn't go on a card, so no map-score lines ship. The momentum finding itself is banked for future, separately registered work.

July 2026Refuted

Snooker: 45 years of historical ratings as a warm start

We licensed access to snooker.org's full match archive (1980→) and tested whether warming the rating engine with four decades of history improves the live model. Under the exact configuration we serve, it didn't: better on one test half, worse on the other, twice. The current model stays. The archive is retained for future, pre-registered experiments.

July 2026Shipped

Football: accumulator construction chosen by backtest

Our daily accumulators were originally built by sensible-but-arbitrary rules. We replayed four seasons of walk-forward model predictions through dozens of candidate construction rules (leg counts, odds bands, market pools, selection scores) with a choose-half/confirm-half split. The winning rules now build the daily accas, including shrinking the combo doubles, because the longer versions almost never landed.

July 2026Refuted

Tennis: surface ratings and world rankings

Surface-specific Elo and official rankings are the features every tennis guide recommends. In ablation on 100k+ ATP and WTA matches, neither reliably improved a model that already blends a 20-year rating with the market's opening price. We don't serve them, and we say so on the tennis page.

July 2026Running

All sports: opening-vs-closing price study

Every market we model now has its opening price and near-off closing price recorded. In a few weeks this answers a question we refuse to guess at: does the market move toward our published probabilities? Results will be published here either way.

July 2026Shipped

Five sports: the rating + market blend

A gradient-boosted calibration of two inputs (our rating difference and the market's own price) was validated sport by sport against held-out data, and now serves darts, snooker, rugby league, esports and tennis. In every sport it beat our older, more complicated models.

July 2026Refuted

Darts: rolling-form features from per-match scoring data

We harvested five years of per-match scoring averages for 350 players and built rolling form features. The full model looked better, until ablation showed the gain came entirely from better calibration, not the features. Rating + market alone won on both test halves. The features were dropped; the harvest is kept for future format studies.

July 2026Refuted

Football: correct-score ensemble as a blend

Blending our correct-score model's implied probabilities into the match-result, totals and BTTS models looked like it improved everything, until we traced the gain to a contaminated refit. With clean holdout artifacts, the blend was worse on all three markets. It now serves as an agreement filter only, where the value survived honest testing.

July 2026Shipped

Handball: 1,326 games relabelled for overtime

Our harvested handball scores silently included overtime in some finals, inflating totals. We re-harvested history with half-by-half scores, relabelled exactly the affected games to regulation scores, and retrained. Small, unglamorous, and exactly the kind of data bug that quietly poisons models when nobody audits.

June–July 2026Running

Basketball & handball: opener-capture seasons

Both models are validated offline but their betting layers are deliberately not public yet: thresholds will be pre-registered from forward-captured opening odds before the seasons resume: rules first, record second, never the reverse.

June 2026Refuted

Trading: performance-picked strategy portfolios

250 strategy cells that won era A were re-tested on era B: the portfolio went from excellent to sharply negative. Performance selection does not transfer. Our live book is chosen by mechanism, validated per-cell, and new candidates must earn slots with forward trades only, in a register with frozen verdict dates, evaluated in October.

This log summarises completed studies at a level that keeps the records verifiable without publishing exploitable specifics. Methods are on the methodology page; the complete build approach is in the handbooks.