Understanding SHAP Values: How TrapStats Explains Every Pick

11 June 2026methodology · machine-learning

A prediction you can't interrogate is just a number. If a model says trap 4 has a 31% win probability, the natural next question is why — and "the neural net said so" is not an answer anyone should stake money on. SHAP values are the technique TrapStats uses to answer that question, and this article explains what they are, how to read them, and where they stop being useful.

The problem SHAP solves

Gradient-boosted tree models — the LightGBM ensemble behind TrapStats — make predictions by combining hundreds of decision trees over dozens of input features: recent sectional times, grade history, trap draw, days since last run, track-specific form and so on. The combined function is accurate but opaque. You cannot look at a single tree and understand the prediction, because no single tree made it.

SHAP (SHapley Additive exPlanations) attacks this with an idea borrowed from cooperative game theory. Treat each feature as a "player" in a game whose payout is the model's prediction. The Shapley value of a player is its fair share of the payout, averaged over every possible order in which players could have joined the game. Translated back to ML: a feature's SHAP value is the amount it pushed this particular prediction up or down, accounting fairly for its interactions with every other feature.

The defining property is additivity: the SHAP values for one prediction sum exactly to the difference between that prediction and the model's baseline (the average prediction over the training data). Nothing is hand-waved — every percentage point of the output is attributed to something.

A worked example

Suppose the baseline win probability for an average runner is 16.7% (one in six), and the model outputs 31% for our trap 4 dog. SHAP might decompose the 14.3-point gap like this:

  • Best recent time at this track + distance: +8.1 points
  • Early-pace figures (first-bend positions): +4.0 points
  • Grade drop since last run: +3.2 points
  • 28 days since last race: −1.5 points
  • Everything else combined: +0.5 points

Read it like a ledger. The dog is fast at this exact trip and breaks well; that is most of the story. The model docked it for a layoff. If the same dog ran tomorrow with the layoff feature reset, you'd expect the output to rise by roughly that −1.5 contribution.

This is what the "Why this pick" panel on TrapStats race pages shows for our model's selections: the top positive and negative SHAP contributions, in plain language, for that dog in that race.

What SHAP is genuinely good for

  • Sanity-checking the model. If a pick's probability is driven by a feature that shouldn't matter, that's a red flag worth investigating. Explanations make silent bugs loud.
  • Understanding disagreement with the market. When our probability is far from the betting market's implied probability, SHAP shows which evidence the model is leaning on. Sometimes that evidence is real edge; sometimes it's a data artefact — seeing it lets you judge.
  • Learning the sport. Aggregated over thousands of races, SHAP importance rankings are an empirical answer to "what actually predicts greyhound winners?" Spoiler: track-and-distance-specific speed dominates, early pace matters more than finishing kick at most venues, and many beloved racecard statistics contribute almost nothing.

The honest limits

SHAP explains the model, not reality. Three caveats matter:

  1. A faithful explanation of a wrong prediction is still wrong. SHAP tells you why the model believes what it believes — it cannot tell you whether the belief is correct. Our live, unfiltered strategy-tracking pages exist precisely because explanations are not evidence of accuracy.
  2. Correlated features share credit unpredictably. If two inputs encode similar information (say, two overlapping speed metrics), SHAP may split their joint contribution in ways that look arbitrary. The total is right; the split between near-duplicates is fuzzy.
  3. Explanations are per-prediction, not causal. "+3.2 for grade drop" does not mean dropping any dog in grade adds 3.2 points. It means for this dog, in this context, that feature moved the output that much.

Why we show this at all

Most tipping products hide their reasoning because scrutiny is bad for sales. Our position is the opposite: the model's live win rate, its losses, and its per-pick reasoning are all published, because an analytics product is only worth paying for if it survives being looked at closely. SHAP is the tool that makes the looking possible — see the glossary entry for the short version, or open any recent race on the site and read the panel for yourself.