Brentford model โ what changed, and why the numbers are kept apart
Every signal carries the version of the model that produced it. Old signals are never re-calculated or removed; you compare versions instead of mixing them.
The model estimates how many goals each team is expected to score, turns that into a probability for every scoreline, and from there into a probability for each Asian Handicap line. That probability is multiplied by Pinnacle's price; if the result is more than 1, the bet has an edge. v2 and v3 share all of that. They differ in one thing that turned out to matter enormously โ how Pinnacle's handicap prices are read โ plus a safety cap. Because of that difference, v2 and v3 signals are not the same kind of bet, so they get their own statistics.
Pinnacle offers two prices on every handicap line โ one for the home team, one for the away team. API-FOOTBALL labels them Home โ0.25 and Away โ0.25. The question is what the โ0.25 on the away label means.
v2 read it as the away team's own handicap ("away gives a quarter goal") and therefore paired Home โ0.25 with Away +0.25. v3 reads it as the home line's number ("the away price on the home โ0.25 line", i.e. away receives a quarter goal) and pairs Home โ0.25 with Away โ0.25. There is a simple way to tell who is right: the two prices of one line at a real bookmaker always add up to a little over 100% โ that little bit is the margin.
What this meant in practice. A safety check rejects any line whose two prices don't make a sensible book. Under v2 every line except 0 failed that check, so v2 effectively only ever traded line 0 (draw-no-bet). The handful of v2 away-side signals on other lines that did get through were priced for the opposite bet โ a stored "Away +1.25" was really the price for away โ1.25 โ and were removed on 10.09. v3 is the first version that trades the whole ladder (ยฑ0.25, ยฑ0.5, ยฑ0.75 โฆ) correctly.
Real edges against Pinnacle are a few percent. When the model claims 60% or 90%, the far more likely explanation is a weak spot in the model (a team with 5 matches of data, a league where it hasn't settled yet) โ not value. v3 refuses to log anything above 40%; 25โ40% is logged but only ever shown as "Verify before betting". v2 logged everything.
v3 treats the model and Pinnacle as equals and calls any gap between them "edge". But Pinnacle's price is the whole market's knowledge โ line-ups, injuries, syndicates, models like ours โ so a public goals model is usually the one that is wrong when they disagree a lot. v4 takes that seriously: the probability it uses is 60% Pinnacle's own de-vigged probability and 40% the model's. The model may move the market's number, but not replace it. Because blended edges are smaller, v4 fires from 3% (v3: 5%).
What to expect. v4 will fire far less often than v3, and only where v3 sees roughly 16% or more. It is a filter and a damper, not a different view of the game โ if the model is systematically on the wrong side, v4 will show that too, just with smaller numbers. It runs alongside v3 for statistics only: not in the scanner, but in the tracker (version filter) and on every signal page as "Model views of this line".
- Model version filter: v3 is the standard and the default; v4 is observed alongside. v2 data was removed on 13.09 (it effectively only traded line 0).
- Best line per match: the scanner can flag several lines of one match that win or lose together; this keeps one bet per match so swings aren't exaggerated.
- Closing line value: whether the signal price beat Pinnacle's closing price. This is the earliest reliable sign of a real edge โ long before ROI means anything. Below 50% and negative on average = the negative ROI is not bad luck.
- Opposite side: what the other side of the same line would have returned at the same three moments โ the table flips to show the opposite bet, and every chart draws the other perspective as a dashed line. Not a mirror image โ Pinnacle's margin sits on both sides โ so both perspectives being negative is the "pure noise" result.