Skip to main content

Method

How a tip gets written.

tbs-rating-v0.0 · uncalibrated softmax · public weights

Not a black box. Not a secret. Below is the exact six-step pipeline every Saturday tip passes through, the real weights on the rating model, and the staking rules that turn a good pick into a good bet.

In one equation

Edge = (Market − Fair) / Fair

We only back runners where the TAB price is materially above what our model thinks the horse is actually worth. Any single bet is probabilistic. Over hundreds of +positive-edge wagers, the expected return is the record on the results page.

The pipeline

Six steps. None of them magical.

Each Saturday morning the whole thing runs end-to-end. If any step can’t justify the bet, it’s cut before it reaches the card.

01

Data in

Form history comes from our own Racing Australia scrape — every meeting, every runner, every result from November 2025 forward. Sectional times come from Punters Plus (puntapi). Track-condition, weather, scratchings and stewards’ notes come through their own scrapers. Market prices come from TAB’s fixed-odds API at publish time, with Betfair Exchange as a live fallback. Settlement results are pulled from Punting Form within 24 hours of each race. No vendor rating sits in the formula — we own every input that feeds a pick.

  • Racing Australia scrape
  • Punters Plus sectionals
  • TAB fixed-odds + Betfair
  • Settlement via PF
02

Score every runner

Each runner gets five sub-scores (see the weights below). The composite is a rank-based blend — runners are ranked within the race on each signal, then the ranks are combined using the weights. Rank-based means one outlying number doesn’t drown out the rest; balanced runners rise. Scores are then softmaxed across the race into probabilities that sum to one.

  • 5 rank-weighted signals
  • Softmax → race-coherent fair price
03

Fair price + market overlay

Composite scores are softmaxed into probabilities that sum to 1, then inverted into a fair decimal price for every runner. We pull the TAB fixed-win price and compute edge = (market − fair) / fair. A positive edge means the market is paying us above the model’s true value.

  • Edge = (market − fair) / fair
  • Fair prices coherent across the field
04

The Best Bet gate

A runner only ships as a Best Bet if confidence clears 65 out of 100, the top margin over runner #2 is at least 5 points, the price sits between $2 and $12, the model has at least a 2% edge over the market, the field is 7–15 runners, the track is no worse than a Slow 7, and the data-quality flag passes. We cap at one Best Bet per metro meeting and one per provincial — if a meeting has multiple qualifying runners the highest-confidence one wins and the rest stay off the card. The whole day caps at three Best Bets regardless.

  • Confidence ≥ 65
  • Top margin ≥ 5
  • Price $2–$12
  • Edge ≥ 2%
  • Field 7–15
  • Track ≤ Slow 7
05

Stake + walk-away price

Stake sizing is price-tier based, not confidence-tier — price is what actually moves expected value. Each Best Bet also carries a walk-away price equal to our fair price: if the market drifts into our fair estimate, the edge is gone and we skip. You see this on every tip as a hard number.

  • Price-tier staking
  • Walk-away = fair price
  • Places paid by field size
06

Settle in public

Every tip is logged at the market price stamped on the card. Results settle within 24 hours. No retroactive price upgrades, no deleted losers, no closing-line-value gymnastics to flatter the P&L. The public results page is the record of record.

  • Settled at publish price
  • 24-hour settlement
  • Forever-public log

The rating model

Five signals. Real weights.

These are the exact weights sitting in the code right now, not a marketing approximation. If we tune them, we’ll change the number on this page.

Speed

40%

Last-start speed rating, best-of-last-3 speed, peak time at this distance, peak time across career. Built from sectional times we own end-to-end.

Form

25%

Last-three finish positions, days since last run (with the optimal-spell curve), last-start margin, three-run class trend.

Class / weight

15%

Class today vs class history. Weight change from last start. Weight at the current class level.

Connections

10%

Jockey strike rate at this track. Trainer strike rate at this track. Combo strike. Trainer strike at this distance.

Track / barrier

10%

Barrier performance at this distance. Track-condition suitability. Distance suitability across the runner’s record.

The composite is a rank-weighted blend. Each runner is ranked within the race on every signal, the ranks are combined using the weights above, and the resulting score is softmaxed into a coherent set of fair prices that sum to 100% across the field.

What sits behind the formula

Every input is one we own.

Most AU tipping services are a thin wrapper around someone else’s rating. A black-box AI score gets dropped into a spreadsheet, a stake gets tacked on, and the punter pays for a number they can’t audit and a vendor can revoke or reshape.

We don’t do that. The five signals on this page are computed by code we wrote, against form history we scrape directly from Racing Australia, sectional times we pull from Punters Plus, and condition data we cross-check against the BOM. No vendor rating sits in the pick. No vendor outage takes the engine down. No vendor change shifts our weights overnight.

What this buys you: when something looks off, we can show you the rank on every signal, the race-condition feed, the raw form record. When something looks right, the win is ours — not an artefact of someone else’s undisclosed model.

It costs more in engineering. Worth it. The whole point of the audit page and the pre-commit hash is that the record is end-to-end inspectable. That only works if the data underneath is ours too.

No black-box AI
No vendor lock-in
Pipeline we own
Record we can audit

Staking

Sized by price, not by vibe.

Confidence-tier staking sounds smart but in practice confidence is already baked into the Best Bet gate. What actually moves expected value from bet to bet is the price tier — so that’s what we stake on.

Effective priceBet typeUnitsWhy
≤ $3.50Win2.0uShort price. Place dividend isn’t worth the slot.
≤ $6.00Win1.5uConfident mid-price win bet.
≤ $12.00Each-way1u / 1u · 2u totalOverlay with tail protection — place dividend earns its keep.
> $12.00Each-way0.75u / 0.75u · 1.5u totalLongshot. Insurance on the place leg; smaller win unit.

Field-size rule. Each-way is only available when the field pays places. Fewer than 5 runners we force to a win bet; 5–7 runners pays 2 places; 8+ pays 3. The staking block on the tip tells you which applies.

Walk-away price. Our fair price is the minimum we’ll take. If the market moves in past that number before you bet, the edge is gone — skip the leg.

Bankroll. We don’t tell you what a unit is. Sensible punters set it at 1–2% of the bankroll they can afford to lose. If that sentence made you uncomfortable, racing isn’t for you.

Honest framing

What this is. What it isn’t.

01

A value engine, not a prediction engine

We bet when the bookmaker pays us more than the horse is worth. Long-run, that’s positive expected value. Short-run, variance is large. No result from a single Saturday means much.

02

Transparent about its gaps

Today we use one market source (TAB) and don’t yet model track bias or rail position directly. Those are on the roadmap — and we’ll tell you when they ship rather than pretending they’re already there.

03

Never a guarantee machine

If the edge is clean and the staking is disciplined, a three-month stretch can still lose money. Anyone who tells you different is selling something worse than we are.

Same math every Saturday.

The tips change. The method doesn’t. Every bet we send is the output of the six steps above — and shows up on the public results page, win or lose, the next day.