Formintel

v8.5 Β· 5 Oct 2026
NO MODEL
Today's Racing

Live from Betfair. Tap a course to see its race times, then load that meeting's PDF below for full predictions.

Tap ↻ Refresh to load today's meetings…
Load Racecard PDF

Load an At The Races PDF form guide. All runners will be extracted automatically.

πŸ“„ Tap to load PDF racecard

From attheraces.com

Load a PDF racecard above, or tap Setup to load your trained model.
← Go to Races tab and select a race first.
← Load a PDF racecard first, then come back here.
← Load PDF racecards in the Races tab. Load multiple meetings to find the best 4 horses across the day.
Trained Models

Models auto-load from GitHub on startup. Upload here to override or update.

🌿 Tap to load Turf model

Not loaded

🏟 Tap to load All-Weather model

Not loaded

πŸ‡ Tap to load Jumps model

Not loaded

Live Odds (Betfair Proxy)

Already set up β€” live Betfair prices work straight away, no account or API key needed. Only change this if you're running your own proxy.

Your results are private to this device. Device ID:
Paste this same ID on another device to see the same results there.
No Model? Use Defaults

Uses Official Rating, recent form, weight and market odds.

⚑ Prediction Calibration

Learns from your logged results how far the model should move the market price. Needs 300+ races with prices. Logged: β€”

Tap Calibrate to check if your model needs adjustment.
Support Formintel

Formintel is free and will always be free. If it's helped you find a winner or two, a coffee is always appreciated.

β˜• Buy Me a Coffee on Ko-fi
!
Important β€” please read

Formintel is an analysis tool, not financial or betting advice. The predictions are statistical estimates based on historical data and carry no guarantee of accuracy. Horse racing outcomes are inherently uncertain.

Only bet what you can afford to lose. Past performance of the model does not predict future results β€” the model has historically run at a loss against the market on flat-stake betting. Never chase losses.

If you or someone you know has a gambling problem, free confidential help is available from GamCare (0808 8020 133) or BeGambleAware.org. You must be 18+ to bet.

Live odds, where shown, come from the Betfair Exchange via your own proxy and are for information only. Formintel is not affiliated with or endorsed by Betfair or At The Races.

1
What does it do?

RaceIQ scores every horse using 12+ signals and ranks them by predicted finishing position. It uses the market as an anchor and adjusts based on form, pace, jockey, trainer, and race dynamics.

πŸ“Š Market anchor

True implied probability (overround removed) anchors every prediction. 40% weight β€” the dominant signal.

πŸ“ˆ Recent form

Last 3 runs weighted by recency: most recent 50%, second 30%, third 20%.

πŸ§‘ Jockey + Trainer

35+ elite jockeys and trainers carry multipliers. 15 specific jockey-trainer pairings get combo bonuses.

πŸƒ Pace & draw

Front-runner vs closer detection. Draw position interacts with field size and pace scenario.

⚠️
This is a tool, not a guarantee. Racing is unpredictable. Gamble responsibly.
2
Making a prediction
  1. Tap Races β†’ in Today's Racing, tap ↻ Refresh and open a meeting.
  2. Tap ⚑ Predict from live card. The full card builds itself from Betfair β€” runners, jockeys, official ratings, draws, weights, form and live odds. The going sets automatically and the Nap of the Day locks.
  3. Tap any race to see its prediction. No PDF, no typing.
πŸ“„
PDF alternative: the classic flow still works β€” load an attheraces.com racecard PDF in the drop zone; odds then auto-load for every race. Useful offline or when Betfair markets aren't open yet (early morning).
πŸ”’
Final prediction at T-5: about five minutes before each off (while the app is open) the race's odds refresh and its final prediction locks. That locked pick is what gets judged against the official result.
πŸ’°
Decimal odds: 7/2 = (7Γ·2)+1 = 4.5. Evens = 2.0. Live Odds and Paste Odds both handle this for you.
3
Results, badges & exporting

Results are handled automatically. The server reads each official result about 10 minutes after the off, and the app logs whether the locked prediction won, placed or lost β€” no manual entry needed.

  1. In the race list, races that have run turn grey; upcoming races stay green.
  2. Each finished race gets a βœ“ WON / PLACED / LOST badge beside its time once the result is in.
  3. πŸ”„ Sync results now (top of the race list) force-checks anything that settled while the app was closed β€” the first thing to tap in the evening.
  4. ⬇ Export Results JSON (bottom of the race list) downloads your complete log for the Results Dashboard (checker.html). On iPhone the file lands in Files β†’ Downloads.
πŸ’‘
Manual logging still works: open any race and scroll to πŸ“‹ Log the Result β€” the dropdowns pre-fill from the official result and you can adjust before saving. Pasting odds twice still shows β–² Steam / β–½ Drift moves.
4
Reading the results
πŸ† Predicted Winner

Top-scoring horse with confidence % relative to the field.

πŸ’° Value Bet

A top-3 pick at 9.0 or longer β€” model rates it worth a look at those odds.

πŸ“Š Model vs Market

Bar chart showing your model % vs market implied % for each horse. Green β–² VALUE = model rates higher. Red β–Ό AVOID = market rates higher.

πŸ’‘ Score breakdown

Under each horse in the order: "Market 18% Β· Jockey +9% Β· Combo +7%" shows what drove the score.

🎯
The β–² VALUE flag means the model rates that horse meaningfully above what its price implies. It is a prompt to look closer, not an instruction to back it.
5
Bet Advisor & Dutching

After predicting, the Bet Advisor shows the expected value (EV) for Win, Each Way, and Place bets at your chosen stake β€” and recommends which is best.

πŸ’° Dutching

If 2–3 horses score above 8%, the app shows exact stakes to split your money so any one of them winning returns the same profit.

1/4 vs 1/5

Toggle place terms to match your bookmaker. All EV figures update instantly.

ℹ️
EV explained: Expected value is what you would make on average over many identical bets. Negative EV = losing bet long term even if it wins today.
6
Pace analysis

The app reads form figures to classify each horse's running style, then assesses the whole race.

🟠 Front-runner

Shows 1 or 2 early in recent form. Gets a bonus as lone leader; penalised in contested pace.

🟣 Closer

Finishes strongly from behind. Benefits when pace is contested; penalised in slow-run races.

πŸ’‘
Draw position interacts with pace style. A low draw suits front-runners in big fields; a high draw can cause traffic problems for closers.
7
Jockey & Trainer Intelligence

35+ elite UK and Irish jockeys carry win-rate multipliers. 35+ top trainers carry separate multipliers. When a top jockey rides for a top trainer, an additional combo bonus applies on top of both.

πŸ’‘
Examples of combo bonuses: Buick/Appleby, Moore/O'Brien, Dettori/Gosden, Murphy/Balding. These pairings historically outperform their individual win rates.
ℹ️
Trainer names are not in the ATR PDF so trainer bonuses only apply when using a trained model that has trainer data from your CSV.
8
Placepot

The Placepot tab analyses all six races and suggests banker picks, alternative selections, and line combinations.

  1. Load your PDF and enter odds in the Predict tab for each race first.
  2. Tap Placepot β€” picks generate automatically.
  3. Tap ⚑ Generate Picks to refresh after changing the going.
  4. Tap πŸ€– Second Opinion for a form-only critique of each pick.
🎯
Second Opinion: Runs a separate form-only analysis (no market) and compares it against the placepot picks. Where both agree: Confirmed banker. Where they differ: Caution or Value Flag with the alternative horse named.
9
Setting the going

Always check the official going report on race day β€” racingpost.com or the racecourse website. Going can change between morning and race time. Your going selection is remembered between races and is not reset when you switch races.

🌱
Auto-going: when a card loads, the going is fetched from live racecourse data and set for you. You can change it any time β€” a manual choice always wins for the rest of the session.
GoingConditions
🌿 Turf
FirmVery fast, hard ground. Rare on British turf.
Good To FirmFast with a little give. Common in summer.
GoodStandard balanced ground. Most horses handle it.
Good To SoftSome give underfoot. Favours stayers.
SoftWet and testing. Stamina horses thrive.
HeavyVery wet, energy-sapping.
🏟 All-Weather
StandardNormal AW conditions.
Standard To FastQuicker surface.
Standard To SlowSlightly slower surface.
SlowTiring AW conditions.
10
Setup & trained model

The app works without a model using default weights. Load a trained racing_model.json for significantly better accuracy β€” it adds horse win rates, course records, going preferences, jockey and trainer stats from your historical data.

  1. Use the desktop Trainer app to build a model from your CSV race history.
  2. Transfer racing_model.json to your phone via AirDrop, WhatsApp, or email.
  3. Tap Setup, then load the file. Green confirmation appears when loaded.
ℹ️
Once you load a PDF, the Setup tab shows the racecourse and detected surface (Turf/AW/Jumps) and tells you whether your loaded model matches.
11
Common questions
❓ PDF loaded but no runners appeared
The app reads At The Races form guide PDFs only. PDFs from Racing Post or bookmakers use different formats.
❓ All horses show the same percentage
Odds have not been entered. The market is the dominant signal β€” without odds all horses get equal market weight and results are unreliable.
❓ Why doesn't the top horse show 40–50% confidence?
By design. Even the clearest favourite in UK racing wins 25–30% of the time. Scores above that are misleading.
❓ The prediction looks like odds order
When form signals are similar across the field, the market is the best available guide and the model will largely agree with it. Meaningful divergence happens when recent form, pace scenario, jockey-trainer combos, or steam/drift create a genuine edge.
❓ Does it work for jump racing?
The model was trained on UK and Irish flat turf only. It can rank jump runners but accuracy will be lower.
❓ Is my data private?
Yes β€” everything runs locally on your phone. No server, no account, no data sent anywhere. localStorage only.
When the fun stops, stop.  Β·  GambleAware.org