Championship · England
Stoke CityvSwansea City
Referee
Oliver Langford
51 matches on record
Fouls per game
21.5
-5% vs league
League average
22.6
fouls per match, both teams
Value — 0 live calls · 2 withdrawn
- Sorba Thomasover 1.50 Shots on target6.50 at Bet365 · fair 5.19+25.2%withdrawn
- Sorba Thomasover 3.50 Shots7.00 at Bet365 · fair 5.89+18.8%withdrawn
A withdrawn call is one Per90 no longer stands behind — the rule that published it was later found wrong. It stays here, keeps its price, and is still scored against its closing line; hover it for the reason. Published at the price shown and scored against the closing line whatever happens next — the same rows, with staking context, are on the value board and in the track record.
What these numbers are
Not tips and not prices. Each row is the model's expected count for one player in this match — how many fouls, tackles or shots it thinks he records — plus the full spread of outcomes around it. Nothing here has been compared to a bookmaker.
Step 1
His own record
Every completed match in the dataset, as a rate per 90 minutes. The n column is how many matches that rests on.
Step 2
Pulled toward his position
A thin record gets pulled hard toward other players in his position, in his league — a goalkeeper toward goalkeepers, not toward the outfielders around him. How hard is fitted per market, not chosen: tackles pull about four times harder than shots on target.
Step 3
This fixture's conditions
How much of the stat the opponent concedes, what the referee's matches look like, and home or away. This is where a projection stops being a season average.
Step 4
Scaled to expected minutes
A rate becomes a count only once you say how long he plays. 60 minutes carries two-thirds the exposure of 90, and the distribution is built at that exposure.
How to read each columnClose
- Model /90
- The model's rate for this match with the minutes taken back out — steps 1 to 3 already applied. It moves with the opponent and the referee, so it is not his raw career rate; the builder shows career and model rates side by side.
- Exp. mins
- Minutes the model expects. Confirmed means the lineup is out; provisional means it is guessing from his start rate, and is the widest of the three.
- Projected
- The expected count in this match, at those minutes. This is the number a line is set against.
- Over 1.5, etc.
- Read straight off the distribution beside it, not off how often he has beaten that line before. It answers what the model thinks, not what has happened.
- n
- Matches behind his own rate. Under 30 it turns amber: the projection is mostly his position group speaking, and §6.3 will not publish an edge on it.
- Distribution
- The whole spread, not just the average. The dashed amber cut is the line; jade bars beat it. An expected 1.8 fouls made of 2 every week and an expected 1.8 made of a 0 and a 5 are different bets, and this is where you see which one you have.
Counts are modelled as negative binomial rather than Poisson, because fouls and tackles are overdispersed and a Poisson would systematically underprice the tails — which is exactly where over bets live. Every market on this page cleared its calibration gate before it was allowed to produce a projection: when the model says 60%, it lands within a point or so of 60% out of sample.
Fouls v20260813-1451 · Tackles v20260813-1451 · Shots v20260813-1451 · Fouls won v20260813-1451 · Cards v20260813-1451 · Saves v20260813-1451
Model projections
Fouls41 playersHighest: Róbert Boženík, 1.42 expectedshowhide
What drives it — Who referees the match. A strict official lifts every player on the pitch, which is the part most books price off a season average. See what has actually happened.
| Player | Team | Model /90 | Exp. mins | Projected | Over 1.5 | n | Distribution |
|---|---|---|---|---|---|---|---|
| Róbert BoženíkFWD | Stoke City | 3.20 | 40provisional | 1.42 | 37% | 12 | 035% 128% 216% 310% 46% 53% 6+2% |
| Gonçalo Baptista FrancoMID | Swansea City | 1.67 | 76provisional | 1.40 | 40% | 81 | 026% 133% 223% 311% 44% 51% 6+0% |
| Marko StamenicMID | Swansea City | 1.76 | 69provisional | 1.36 | 39% | 32 | 029% 132% 222% 311% 44% 51% 6+1% |
| Ben PearsonMID | Stoke City | 1.90 | 56provisional | 1.17 | 33% | 31 | 037% 130% 218% 39% 44% 51% 6+0% |
| Lewis BakerMID | Stoke City | 1.38 | 76provisional | 1.16 | 33% | 31 | 034% 133% 220% 39% 43% 51% 6+0% |
| Sam GallagherFWD | Stoke City | 2.31 | 41provisional | 1.04 | 27% | 26 | 040% 133% 216% 37% 43% 51% 6+0% |
| J. TchamadeuDEF | Stoke City | 1.19 | 77provisional | 1.02 | 27% | 60 | 038% 134% 218% 37% 42% 50% 6+0% |
| Tatsuki SekoMID | Stoke City | 1.47 | 61provisional | 1.00 | 27% | 49 | 043% 130% 216% 37% 43% 51% 6+0% |
| Million ManhoefFWD | Stoke City | 1.26 | 68provisional | 0.95 | 25% | 69 | 041% 134% 217% 36% 42% 5+1% |
| Zeidane InoussaFWD | Swansea City | 1.96 | 43provisional | 0.95 | 25% | 15 | 043% 132% 216% 36% 42% 51% 6+0% |
10 of 41 players shown, ranked by projection. Show all 41 →
Tackles41 playersHighest: Gonçalo Baptista Franco, 2.81 expectedshowhide
What drives it — Possession share. A tackle count depends far more on how much of the match is played at your own end than on a player’s own form. See what has actually happened.
| Player | Team | Model /90 | Exp. mins | Projected | Over 1.5 | n | Distribution |
|---|---|---|---|---|---|---|---|
| Gonçalo Baptista FrancoMID | Swansea City | 3.35 | 76provisional | 2.81 | 71% | 81 | 010% 119% 221% 318% 413% 59% 6+10% |
| Maksym TalovierovDEF | Stoke City | 2.41 | 73provisional | 1.96 | 54% | 14 | 021% 126% 222% 315% 49% 55% 6+4% |
| Benjamin CabangoDEF | Swansea City | 1.73 | 90provisional | 1.72 | 49% | 90 | 021% 130% 224% 314% 47% 53% 6+2% |
| Ronald Pereira MartinsFWD | Swansea City | 1.89 | 76provisional | 1.59 | 45% | 87 | 025% 130% 222% 313% 46% 53% 6+1% |
| J. TchamadeuDEF | Stoke City | 1.75 | 77provisional | 1.51 | 43% | 60 | 027% 130% 222% 312% 46% 52% 6+1% |
| Joon-Ho BaeMID | Stoke City | 1.90 | 71provisional | 1.50 | 42% | 78 | 028% 130% 221% 312% 46% 52% 6+1% |
| Marko StamenicMID | Swansea City | 1.86 | 69provisional | 1.43 | 40% | 32 | 029% 131% 221% 311% 45% 52% 6+1% |
| Tatsuki SekoMID | Stoke City | 2.05 | 61provisional | 1.39 | 38% | 49 | 035% 128% 218% 310% 45% 52% 6+2% |
| Eric Junior BocatDEF | Stoke City | 1.81 | 65provisional | 1.32 | 37% | 45 | 035% 128% 219% 310% 45% 52% 6+1% |
| Ben PearsonMID | Stoke City | 2.12 | 56provisional | 1.31 | 36% | 31 | 036% 128% 218% 310% 45% 52% 6+1% |
10 of 41 players shown, ranked by projection. Show all 41 →
Shots41 playersHighest: Million Manhoef, 2.12 expectedshowhide
What drives it — The player’s own shot rate, shrunk toward others in his position, then adjusted for how many shots the opponent concedes. See what has actually happened.
| Player | Team | Model /90 | Exp. mins | Projected | Over 1.5 | n | Distribution |
|---|---|---|---|---|---|---|---|
| Million ManhoefFWD | Stoke City | 2.82 | 68provisional | 2.12 | 58% | 69 | 017% 124% 222% 316% 410% 55% 6+4% |
| Žan VipotnikFWD | Swansea City | 2.47 | 59provisional | 1.61 | 45% | 65 | 027% 128% 221% 313% 47% 53% 6+2% |
| Sorba ThomasFWD | Stoke City | 1.63 | 87provisional | 1.58 | 46% | 45 | 022% 132% 224% 313% 46% 52% 6+1% |
| Róbert BoženíkFWD | Stoke City | 3.18 | 40provisional | 1.41 | 36% | 12 | 036% 128% 216% 310% 46% 53% 6+2% |
| Ji-Sung EomFWD | Swansea City | 2.08 | 59provisional | 1.36 | 38% | 65 | 031% 131% 220% 311% 45% 52% 6+1% |
| Liam CullenMID | Swansea City | 1.97 | 58provisional | 1.27 | 35% | 61 | 035% 130% 219% 310% 44% 52% 6+1% |
| Lewis BakerMID | Stoke City | 1.47 | 76provisional | 1.24 | 35% | 31 | 033% 132% 220% 39% 44% 51% 6+0% |
| Joon-Ho BaeMID | Stoke City | 1.55 | 71provisional | 1.23 | 34% | 78 | 033% 133% 220% 39% 44% 51% 6+0% |
| Lamine CisseFWD | Stoke City | 2.22 | 50provisional | 1.22 | 33% | 24 | 038% 128% 217% 39% 44% 52% 6+1% |
| Ronald Pereira MartinsFWD | Swansea City | 1.36 | 76provisional | 1.15 | 32% | 87 | 034% 134% 220% 38% 43% 51% 6+0% |
10 of 41 players shown, ranked by projection. Show all 41 →
Fouls won41 playersHighest: Ronald Pereira Martins, 2.13 expectedshowhide
What drives it — How much a player runs at defenders. Dribble volume drives this far more than the referee does. See what has actually happened.
| Player | Team | Model /90 | Exp. mins | Projected | Over 1.5 | n | Distribution |
|---|---|---|---|---|---|---|---|
| Ronald Pereira MartinsFWD | Swansea City | 2.53 | 76provisional | 2.13 | 60% | 87 | 015% 125% 224% 317% 410% 55% 6+4% |
| Gonçalo Baptista FrancoMID | Swansea City | 1.66 | 76provisional | 1.40 | 40% | 81 | 027% 133% 222% 311% 44% 51% 6+1% |
| Ji-Sung EomFWD | Swansea City | 1.84 | 59provisional | 1.20 | 33% | 65 | 035% 132% 219% 39% 44% 51% 6+0% |
| Lamine CisseFWD | Stoke City | 2.09 | 50provisional | 1.15 | 31% | 24 | 040% 129% 217% 39% 44% 51% 6+1% |
| Joon-Ho BaeMID | Stoke City | 1.43 | 71provisional | 1.13 | 31% | 78 | 036% 133% 219% 38% 43% 51% 6+0% |
| Zeidane InoussaFWD | Swansea City | 2.13 | 43provisional | 1.02 | 27% | 15 | 041% 132% 216% 37% 43% 51% 6+0% |
| Oliver CooperMID | Swansea City | 2.50 | 36provisional | 1.01 | 26% | 12 | 049% 126% 212% 37% 44% 52% 6+1% |
| Melker WidellMID | Swansea City | 2.06 | 41provisional | 0.93 | 24% | 22 | 046% 130% 214% 36% 42% 51% 6+0% |
| J. TchamadeuDEF | Stoke City | 1.02 | 77provisional | 0.88 | 22% | 60 | 044% 134% 215% 35% 41% 5+0% |
| Sorba ThomasFWD | Stoke City | 0.90 | 87provisional | 0.87 | 22% | 45 | 043% 135% 216% 35% 41% 5+0% |
10 of 41 players shown, ranked by projection. Show all 41 →
Cards41 playersHighest: Ben Pearson, 0.23 expectedshowhide
Known defect — Prices ANY card — yellow, second yellow or straight red — matching how books settle "to be shown a card". The trends column counts the same thing.
What drives it — Fouls first, then how readily the referee reaches for a card. Two officials averaging four cards a match can do it for opposite reasons. See what has actually happened.
| Player | Team | Model /90 | Exp. mins | Projected | Over 0.5 | n | Distribution |
|---|---|---|---|---|---|---|---|
| Ben PearsonMID | Stoke City | 0.36 | 56provisional | 0.23 | 20% | 31 | 080% 117% 22% 3+0% |
| Marko StamenicMID | Swansea City | 0.28 | 69provisional | 0.22 | 20% | 32 | 080% 117% 22% 3+0% |
| J. TchamadeuDEF | Stoke City | 0.24 | 77provisional | 0.21 | 19% | 60 | 081% 117% 22% 3+0% |
| Maksym TalovierovDEF | Stoke City | 0.23 | 73provisional | 0.19 | 17% | 14 | 083% 115% 22% 3+0% |
| Lewis BakerMID | Stoke City | 0.19 | 76provisional | 0.16 | 15% | 31 | 085% 114% 2+1% |
| Gonçalo Baptista FrancoMID | Swansea City | 0.17 | 76provisional | 0.14 | 13% | 81 | 087% 112% 2+1% |
| Mohammed Bosun LawalDEF | Stoke City | 0.19 | 68provisional | 0.14 | 13% | 29 | 087% 112% 2+1% |
| Benjamin CabangoDEF | Swansea City | 0.13 | 90provisional | 0.13 | 12% | 90 | 088% 111% 2+1% |
| Ben WilmotDEF | Stoke City | 0.14 | 85provisional | 0.13 | 12% | 72 | 088% 111% 2+1% |
| Jay FultonMID | Swansea City | 0.28 | 42provisional | 0.13 | 12% | 32 | 088% 111% 2+1% |
10 of 41 players shown, ranked by projection. Show all 41 →
Saves3 playersHighest: Lawrence Vigouroux, 2.96 expectedshowhide
What drives it — Opponent shot volume. A keeper’s own record carries so little that this market shrinks harder than any other on the board. See what has actually happened.
| Player | Team | Model /90 | Exp. mins | Projected | Over 2.5 | n | Distribution |
|---|---|---|---|---|---|---|---|
| Lawrence VigourouxGK | Swansea City | 2.96 | 90provisional | 2.96 | 55% | 91 | 07% 117% 222% 320% 415% 59% 6+10% |
| Viktor JohanssonGK | Stoke City | 2.57 | 90provisional | 2.57 | 46% | 71 | 010% 121% 224% 320% 413% 57% 6+6% |
| Tommy SimkimGK | Stoke City | 2.28 | 90provisional | 2.28 | 39% | 15 | 012% 124% 225% 319% 411% 56% 6+4% |
1 of 7 markets have no projection for this fixture.