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.