Methodology
How these numbers are made. Edge Card runs a proprietary pre-race probability process. It starts from what the market already expects, then combines that with licensed past-performance, pace, field-composition and runner information to produce a win probability for every betting interest, evaluated within its own race. Fair odds are the break-even price implied by that probability. Play-at odds are the shortest displayed price we consider acceptable on a play. We are selective and most races are passed. Every pick is locked before post time, and every result, wins and losses, is archived and scored against closing odds. Treat this as structured analysis, not a guaranteed or proven betting edge.
What is published, and what is not
Edge Card uses proprietary transformations, weighting, calibration and qualification rules. Exact implementation details are not published. What is published is everything needed to hold the product accountable: the model version behind every card, the probability and price for every runner we rate, which races we played and which we passed, when each card was locked, the integrity evidence for that lock, and the complete graded record including the losses.
The categories of information the model reads are Brisnet-licensed past-performance and figure data, the morning line, the composition of each field, and connections form. The exact figures, transformations, weights and qualification thresholds are proprietary. Cards published before did carry the full constant list on this page; that disclosure happened and is not being denied here. It is simply no longer maintained going forward.
The terms on a card
| Model probability | Our estimated chance the runner wins, within its own race. |
|---|---|
| Fair odds | The break-even price for that probability. Not a prediction of the payout. |
| Morning line | The track handicapper's opening estimate, printed in the program. It is not a price you can bet. |
| Play-at odds | The shortest price we consider acceptable when the flag is published. It is guidance for you at the window, not a condition on the record: every published flag is graded, win or lose, even if it closes shorter than this. A flag never becomes a pass after the fact. |
| Pari-mutuel prices | Payouts are set by the final pool, not by the odds when you bet. Prices move until wagering closes and can move against you. |
| Passed races | Most races do not clear our bar. A pass is a decision, not a gap. |
| Model version | Every card names the version that produced it. A change of version is disclosed here before it affects a card. |
Corrections
2026-08-07: this page named the wrong model version. Until today the section below read “the current model is v1.4”, and the version history listed v1.1 through v1.4. That was inaccurate. Production has run v0-heuristic-1.4 since 19 July 2026, and the v1 label belongs to a trained model that is still research and has never produced a published card. Stripping the v0-heuristic prefix made a v0 sub-version read as a v1 release, on a page that, in the same paragraph, described the trained v1 as future work. No pick, probability, fair price, lock time, hash, or graded result is affected. Every card.json and every partner feed has always carried the full, correct version string; only this page’s prose was wrong, and the archive is unchanged. The label on this page is now derived from the version recorded in the cards themselves rather than written by hand, so it cannot drift again.
2026-07-26: how to verify a card hash, and what the timestamp proof does and does not say. Cards published before 2026-07-26 were generated on Windows, where the lock hash was calculated from CRLF-formatted bytes before Git stored the same JSON with LF line endings. The selections and JSON values are unchanged (only the line endings differ), but it means the original recorded lock hash does not match the file you download. Each affected card now shows both hashes, and the corrections registry records the mapping for every card. Separately: every card is committed through OpenTimestamps, and those proofs commit to the downloadable file. Until 2026-07-26 the stored proofs held calendar commitments only and had never been upgraded, so earlier wording that implied confirmed blockchain anchoring was ahead of the evidence. OpenTimestamps proofs are created for locked artifacts and checked daily for available Bitcoin attestations; each card reports its current proof status. Not every daily check changes anything, and not every artifact is Bitcoin-confirmed. The status shown on a card is that card’s own proof.
2026-07-25: the displayed lock time was a placeholder. Every card printed a fixed “10:12 AM ET” regardless of when it actually locked. The times shown now derive from the hash-chained ledger entry for each card, which is the authoritative record of when the file was committed, so several archived cards now correctly show an earlier time than before. No pick, hash, or timestamp proof changed; only the displayed clock was wrong, and it now matches the timestamp anyone can verify against the git commit.
2026-07-24: the “Board” price on flags was wrong. On flag blocks, the Edge of the Day, and share images we printed a board price derived from the take-stripped morning line instead of the raw morning line, so the number shown was longer than the price actually in the program, it overstated the gap between our fair odds and the board, and it disagreed with the full-field table on the same page, which was always correct. Fixed at the source: every surface now prints the raw morning line, and the take-stripped figure appears only as a percentage, always labelled. Archived card pages re-render with the corrected display. No pick, probability, fair price, or graded result changed. the locked card.json files are untouched. See the 2026-07-26 note below for how to verify a card’s hash.
Flags vs. reads
A flag is a play: the board is paying more than our fair price, so it goes on the card and onto the graded record. Most races don’t clear that bar, so for the rest of the card we still show our read: the model’s top-rated horse and a one-line tier. A read is analysis, not a bet, and it is not graded: Lean means we like our top horse but the gap to the board is not wide enough to play; Chalk means our number agrees with the favorite; Scramble means a wide-open heat with no top-two separation worth trusting. The exact thresholds behind those tiers are proprietary. The calibration curve below scores every priced runner, flagged or not, so the reads are held to the same honesty as the plays.
Honesty notes
We report market drift vs. morning line, not CLV. At a mid-morning publish there is no bettable price; the morning line is a handicapper's estimate. Drift asks whether the money moved toward our flag after we published. Any change to the model's parameters or qualification rules is a new model version, disclosed in the version history below before it affects a card.
How we grade ourselves
Three surfaces on the record hold the model accountable, and all three run off the public ledger. Nothing is hand-picked.
Closing-line scoreboard. In a pari-mutuel pool your payout is set by the final odds no matter when you place the bet, so the close is the only price that matters. For every flagged play we check whether the closing tote odds actually reached the “play at” price we published before post. If they did, the value we flagged was real and takeable; if the horse closed shorter, it was a pass, and a run of them is a sign our number was measured against a generous morning line rather than the real market. This is not a fixed-odds CLV claim; it is the honest test of whether our “value” is value at the window.
Calibration. Across every runner we price, not just the flags, we bin the model's win probability and compare it to how often those runners actually won. When we say 30%, do they win 30%? We publish the reliability curve and our Brier score beside the morning line's, so you can see whether the model beats the board or just matches it. Because every probability is hash-committed before post, this is a live reliability check, not a backtest you have to trust.
Provenance. The ledger is one continuous SHA-256 chain: each card's lock entry carries the hash of the entry before it, so any back-edit, deletion, or reorder breaks the walk. The chain is public and re-verifiable by anyone.
Model versions
The current model is v0-heuristic-1.4, effective for cards locked on or after July 19, 2026. It is a heuristic. The trained v1 model is research and has never produced a published card; when it does, it will be disclosed here first. Every version change is disclosed here before it affects a card, and the archive is never re-scored. A card keeps the model that locked it.
- v0-heuristic-1.4 (effective July 19, 2026), the first use of data beyond figures and pace. The model now factors trainer form: for each horse we fold in how well its trainer performs in today’s exact kind of spot, as a small, tightly-capped adjustment to the win probability. We use the trainer angle as a model input only. We never publish the raw figure. A measured step; the trained v1 will learn a real weight for it. v0-heuristic-1.4 also corrects how the fair line is built: main-track-only and also-eligible horses (which don’t run unless the race comes off the turf or a starter scratches) are no longer counted in the field, which had been inflating some of our prices.
- v0-heuristic-1.3 (July 18, 2026), the number now leans harder on our own figures and less on the morning line, which is a days-early estimate the market corrects past by post. This anchors our fair odds nearer where horses actually close, the flaw we saw live on July 16.
- v0-heuristic-1.2 (July 17, 2026), flag-quality tightening. A flag now also requires the horse to rate near the top of our own figure blend, so a generous morning line alone can no longer produce one; the minimum edge required went up, the morning-line weight came down, and the “play at” price was re-set to a reachable level. Prompted by live evidence on July 16 that looser flags were bet through our fair price by post.
- v0-heuristic-1.1 (July 12, 2026, pre-launch), field-relative front-runner detection in the pace rules.
Version notes describe what changed and why. The exact weights and thresholds behind each change are proprietary and are no longer published. Notes for versions up to v0-heuristic-1.4 originally carried some of those values; that disclosure is a matter of record and is not being retracted here.
Price-durability read
Alongside the model, each flag carries a short read on whether the board price you see is likely to survive to post. It is a heuristic, versioned separately from the model, and graded on the record page next to what actually happened. The current version is d1, effective for cards locked on or after August 24, 2026. Cards locked before then keep the call they were published with.
- d1 (effective August 24, 2026), thresholds set separately for each meet. The two tracks publish morning lines built to different totals: across 24,733 runners over four seasons, Saratoga’s morning line adds up to about 112 percent and Del Mar’s to about 122 percent. A price on the more padded line sits shorter against a fair price, so it is likelier to drift out than to shorten. One pair of thresholds could not describe both meets, and the old pair described neither well: it called 6,102 Del Mar prices “likely bet down” when that group in fact held its price slightly more than half the time. The new thresholds are set from those same four seasons so each call is right at a stated rate, and were checked by fitting on 2023 to 2025 and testing on 2026 alone.
- d0 (July 18, 2026), one pair of thresholds for both meets, set from the first weeks of our own closing-line record.
Computed from licensed Brisnet data. Derived figures only; raw vendor ratings are never republished.
