Altora Analytics

METHODOLOGY

How we build, validate and score our models — the data, the methods, the thresholds, and how to check our record yourself. Everything except the secret sauce.

← the record  ·  altora home

The discipline

How every model has to earn its place

The same process applies to every sport. A model doesn't go live because it looks clever — it goes live because it survives being tested on data it has never seen.

The models

What's actually under the bonnet

Different sports need different machinery. Here's what each one runs on — the methods and the feature families, if not the weights.

⚽ Football

Gradient boosting + Poisson

CatBoost (classification and regression) for match outcomes, plus a Poisson goal model driving Over/Under and Correct Score. Probabilities are Platt-calibrated.

Around 90 engineered features across 24 modules, including:

rolling xGopponent-adjusted strengthElo ratingsschedule difficultymarket-implied strengthhome-advantage indexrest daysshot tempovenue-specific formvolatilitymatch importanceleague environment

Markets: 1X2 · Over/Under 2.5 · BTTS · Correct Score · Accumulators · Misc.

🏀 Basketball

MOV-Elo + CatBoost

A margin-of-victory Elo with adaptive K and idle-decay (a team's rating settles as it plays, and drifts back toward average when idle), fed into CatBoost with league and country context.

rating differencerolling scoring marginopponent-adjusted formhome/away splitrest & back-to-backs
170,243games modelled
93,225out-of-sample tests
70.1%OOS accuracy

Trained pre-2024, tested 2024 onward. Calibrated at every band.

🤾 Handball

Two-stage 3-way

Handball draws (5.7% of games), so a 2-way model would be wrong. We run a two-stage model: a decisive-winner model multiplied by a separate draw-probability model, giving a true home/draw/away distribution.

MOV-Elo tuned specifically for handball, plus CatBoost with league, country and gender context. Men's and women's teams are kept strictly separate.

126,968games modelled
76.5%winner accuracy
5.7%draw rate handled

🎯 Match picks

Darts · Snooker · Rugby · Esports

A shared adaptive-K Elo engine with idle-decay and, where it validates, margin-of-victory scaling — so a convincing win moves a rating more than a narrow one.

Since 22 July 2026, published probabilities blend the Elo rating with the market's opening price through a gradient-boosted calibration layer — validated out-of-sample per sport before switching, and only kept where it beat the Elo-only model on held-out data. Rugby Union remains on its own API-based ratings model.

Rugby covers Union and League with competition-aware ratings (70.7% Union / 65.1% League out-of-sample).

These are our free sports. Same discipline, simpler machinery — because the data supports one market: the winner.

📈 Systematic trading

FX · Indices · Commodities — rule-based, no discretion

Three independent systematic books (FX on 4h, Indices and Commodities on daily), each built from engineered market features and blended into one cross-asset portfolio. Fully rule-based — no human overrides.

Validation is deliberately brutal: walk-forward testing, performance required to hold across separate market eras (not just one lucky regime), and stress-tested at double the real trading costs. Strategies that only work in one era, or die under cost stress, get cut.

The books are blended because they're near-uncorrelated with each other — that's where the portfolio's stability comes from, not from any single strategy.

From prediction to bet

How a pick is chosen — and our exact thresholds

A probability isn't a bet. We run two avenues, and each has a published bar it must clear. These aren't secret — the thresholds aren't the edge, the model is.

AvenueWhat it looks forMust clear
🔥 Value (EV)Model probability implies a bigger edge than the odds are pricingEV ≥ 5% and model probability ≥ 60%
🎯 ProbabilityThe model's highest-confidence read of the matchprobability ≥ 60% and odds ≥ 1.40
Why the 60% probability floor on value bets? Without it, an "edge" on a 12%-probability longshot at odds of 11.00 passes the EV test — and that's almost always model noise, not value. We won't back it, however good the maths looks. A 60% pick's fair odds are around 1.67, so you'll never see us call an 11.00 shot a value bet.
We publish the bets we skip. Selections clearing the bar are marked PASS — those are the ones we back. Selections the model flagged but that failed a threshold are marked FAIL and are still published, with their own P&L. You can see the whole funnel, and judge for yourself whether our filter earns its place. Most services only show you what they backed.

How we score ourselves

The rules of our own record

Check us, don't trust us

How to verify our record yourself

A record you can't audit is just a screenshot. Ours is designed to be checked by someone trying to catch us out.

The part nobody else prints

What we don't claim

We don't beat the closing line. On basketball our model correlates 0.84 with the sharp closing price but the market is still sharper by roughly 0.016 Brier. Same story in rugby and football. The closing line sees things a results-based model can't — late team news, injuries, rotation. We mirror it well; we don't beat it. Anyone telling you their model beats the close is selling something.
Esports is our weakest model, and we'll say so. Betfair's esports data carries no game label, so multi-game organisations (a club with CS2, Dota and LoL rosters) share a single rating. We've proven that limitation is unfixable with this data, so we gate out any pick that disagrees sharply with the market rather than publish something we don't stand behind.
A tracked record is not a promise. Past calibration doesn't guarantee future profit. Margins, market efficiency, model drift and sample size all bite. Never stake money you can't afford to lose.

Where we draw the line

What stays private — and why

We've told you the model families, the feature categories, the data sources, the thresholds, the staking and the scoring rules. What we keep back is the part that would let someone simply copy the work:

That's the difference between showing our workings and handing over the answer sheet. Everything you need to judge whether the models are any good is published — the record, the calibration, the thresholds and the funnel.