SharpXI is in beta — updated daily. Spot something off? Tell us →In beta — updated daily. Tell us →
SharpXI© Join the waitlist
Guide

Modelling shots on target, step by step

By Adam · Updated 16 July 2026 · 7 min read

Shots on target is the most bet player market in football, and the one where the gap between a hunch and a modelled number is widest. Everyone has an opinion about whether Saka gets a shot on target. Almost nobody has a distribution. This is the walk from raw data to a probability you could defend, which doubles as a plain-English disclosure of how this site's own model works.

Start per ninety, not per match

The first mistake happens before any modelling: counting shots per appearance. A winger with 27 shots on target across 2,000 minutes runs at about 1.2 per 90. Count his 34 appearances instead, a third of them off the bench, and he looks like a 0.8-per-game player — the same man, made 30% worse by arithmetic. Minutes are the denominator that tells the truth. Everything downstream works in per-90 terms and converts back to the actual match only at the end.

Weight recent form, gently

Form is real, and smaller than it feels. A player's last four games predict his next game far less than they dominate your impression of him, and pricing off a hot month means paying top price for form that's about to regress. The standard compromise is exponential weighting on a half-life — recent games count more, but the whole season still counts. When a rate built this way disagrees with your memory of last weekend, the rate is usually the one telling the truth.

Distrust small samples

Every September produces a new signing with six shots on target in three games, and a market of punters extrapolating. Three games is an anecdote. The statistical repair is shrinkage: blend the player's own thin rate with the average for players of his position, weighted by how much evidence he's actually banked. A striker with 200 minutes gets priced mostly as "a striker"; one with 3,000 minutes has earned his own number. As the minutes accumulate, the model lets go of the prior at exactly the speed the evidence justifies — which is what a sensible human would do, done consistently.

Adjust for the opponent

A shot rate earned across the whole league now meets one specific defence. The adjustment is mechanical: how many shots on target does this opponent concede, relative to the league average? A low-block side conceding 15% fewer scales the rate by 0.85; a side that leaks chances scales it up correspondingly. The factor matters most at the extremes, which is convenient, because the extremes are where prices go wrong — the market is slow to punish a big club whose defence has quietly stopped functioning.

Project minutes honestly

The quietest killer of player bets appears nowhere in the stats: substitution. A 1.2-per-90 player planned for a 70-minute shift is carrying a rate of about 0.93 into your bet — a 22% cut, applied silently by the team sheet. Rotation risk, cup schedules, a manager who hooks his wingers on the hour — all of it belongs in the projection, and the uncertainty it adds belongs in the confidence attached to the pick, not swept under the headline number.

Choose a distribution that respects reality

A rate becomes a probability through a distribution, and the default choice quietly matters. The Poisson distribution assumes shot events arrive independently at a steady rate. Real shot data is lumpier — game states cluster chances, red cards and early goals bend matches — and that extra spread is called overdispersion. The Negative Binomial handles it; the Poisson pretends it isn't there.

For 1+ lines the disagreement is small. At the tail it decides bets: for a middling shot rate, a Poisson puts two or more shots on target at roughly a third, and the Negative Binomial, fit to the real spread of the data, adds a couple of points on top. Two points is routinely the whole edge on a 2+ line. A model that's right about the rate and wrong about the shape loses money precisely where the interesting prices live.

Then, and only then, the bet

The distribution yields P(shots on target ≥ line). The price gets de-vigged (properly), the two numbers meet, and edge = probability × odds − 1 does the rest. Alongside the edge travels a confidence grade built from sample size and lineup certainty, because a 62% resting on nine matches deserves different money from a 62% resting on ninety.

What the model leaves out is as deliberate as what it includes. Tactical tweaks, training whispers, a must-win night under lights: real factors, unquantifiable ones. The house rule is to keep them out of the number and in your judgement, where you can weigh them knowingly. A model that quietly invents figures for the unmeasurable stops being a model and becomes a mood with decimal places.

Frequently asked

What counts as a shot on target?

An attempt that would have entered the goal without a save or a defensive block on the line — saved and scored efforts count, blocked shots and efforts against the woodwork generally don't. Definitions vary slightly by data provider, which is worth knowing before you argue with a settlement.

Why does the model like 1+ but not 2+ for the same player?

They sit at different points of the distribution and are priced separately. A bookmaker can price a player's 1+ line generously and the 2+ line tight, or the reverse. Each line is its own bet with its own edge.

How many matches does a shot rate need before it means something?

Raw rates over a handful of games are mostly noise; that's why small samples get shrunk toward the positional average. Around a dozen starts, a player's own rate begins to dominate, and every SharpXI pick shows the sample it rests on.

Do home and away matter for shots on target?

Somewhat, and less than people assume. Venue effects are real but modest, and much of the visible home-away gap in raw numbers is really the opponent mix. The opponent adjustment captures the larger share of it.

Keep going

SharpXI models probabilities; it doesn't promise profit, and neither should anyone else. Betting involves risk — never stake more than you can afford to lose. 18+ — please gamble responsibly.