PER90

Premier League · England

ArsenalvCoventry City

Emirates Stadiumexpected lineup

Referee

Thomas Bramall

46 matches on record

Fouls per game

21.2

-9% vs league

League average

23.2

fouls per match, both teams

Facts with sample sizes, not predictions. The market % beside a line is the books’ median price with margin in, and the over market runs hot.

Value — 19 live calls

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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 column
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 v20260816-1555 · Shots v20260816-1555 · Shots on target v20260816-1555 · Fouls won v20260816-1555 · Saves v20260816-1229

Model projections

Fouls53 playersHighest: Bruno Guimarães, 1.30 expectedshow

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.

PlayerTeamModel /90Exp. minsProjectedOver 1.5nDistribution
Bruno GuimarãesMID1.3485provisional1.3037%67
028%
135%
223%
310%
43%
51%
6+0%
Frank OnyekaMIDCoventry City1.4975provisional1.2937%53
029%
134%
222%
310%
44%
51%
6+0%
Gustavo HamerMID1.3476provisional1.1833%81
032%
135%
221%
39%
43%
51%
6+0%
Ephron Mason-ClarkMIDCoventry City1.5160provisional1.1130%74
035%
134%
219%
38%
43%
51%
6+0%
Liam KitchingDEFCoventry City1.0487provisional1.0127%67
037%
136%
218%
36%
42%
5+0%
Jurriën TimberDEFArsenal1.0682provisional0.9926%60
038%
136%
218%
36%
42%
5+0%
Bukayo SakaFWDArsenal1.0574provisional0.9123%56
041%
135%
216%
35%
41%
5+0%
Josh EcclesMIDCoventry City1.1862provisional0.8923%74
043%
134%
216%
35%
41%
5+0%
Kai HavertzFWDArsenal1.1862provisional0.8923%35
044%
134%
216%
35%
41%
5+0%
Cristhian MosqueraDEFArsenal0.9479provisional0.8521%57
044%
135%
215%
35%
41%
5+0%

10 of 53 players shown, ranked by projection. Show all 53 →

Shots53 playersHighest: Bukayo Saka, 3.15 expectedshow

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.

PlayerTeamModel /90Exp. minsProjectedOver 1.5nDistribution
Bukayo SakaFWDArsenal3.7074provisional3.1578%56
07%
115%
220%
319%
415%
511%
6+13%
Eberechi EzeMIDArsenal3.8060provisional2.7268%67
012%
120%
220%
317%
413%
58%
6+10%
Leandro TrossardFWDArsenal3.1572provisional2.6169%69
011%
120%
222%
318%
413%
58%
6+8%
Kai HavertzFWDArsenal3.5362provisional2.5966%35
014%
121%
220%
317%
412%
58%
6+9%
Fábio VieiraMID2.8879provisional2.5869%29
011%
120%
223%
319%
413%
58%
6+7%
Gabriel JesusFWDArsenal4.2539provisional2.0851%31
023%
126%
218%
312%
48%
55%
6+7%
Noni MaduekeFWDArsenal3.1752provisional2.0054%58
021%
125%
221%
315%
49%
55%
6+4%
Gabriel MartinelliFWDArsenal2.9052provisional1.8350%63
023%
127%
221%
314%
48%
54%
6+3%
Bruno GuimarãesMID1.8985provisional1.8153%67
018%
129%
225%
315%
47%
53%
6+2%
Viktor GyökeresFWDArsenal3.0346provisional1.7447%36
025%
129%
221%
313%
47%
54%
6+3%

10 of 53 players shown, ranked by projection. Show all 53 →

Shots on target48 playersHighest: Bukayo Saka, 1.16 expectedshow

What drives it Shot volume first, conversion second — literally: the projection is the shots model thinned by the player’s own on-target rate, so a high-volume low-accuracy shooter and a sniper price differently at the same shot count. See what has actually happened.

PlayerTeamModel /90Exp. minsProjectedOver 0.5nDistribution
Bukayo SakaFWDArsenal1.3674provisional1.1666%56
034%
134%
220%
38%
43%
51%
6+0%
Kai HavertzFWDArsenal1.3462provisional0.9859%35
041%
133%
216%
36%
42%
51%
6+0%
Gabriel JesusFWDArsenal1.9939provisional0.9755%31
045%
130%
214%
36%
43%
51%
6+0%
Fábio VieiraMID1.0079provisional0.8957%29
043%
135%
216%
35%
41%
5+0%
Eberechi EzeMIDArsenal1.2560provisional0.8956%67
044%
133%
215%
36%
42%
50%
6+0%
Leandro TrossardFWDArsenal0.9972provisional0.8254%69
046%
134%
214%
35%
41%
5+0%
Gabriel MartinelliFWDArsenal1.2352provisional0.7750%63
050%
131%
213%
34%
41%
5+0%
Noni MaduekeFWDArsenal1.2252provisional0.7750%58
050%
131%
213%
34%
41%
5+0%
Viktor GyökeresFWDArsenal1.2546provisional0.7148%36
052%
131%
212%
34%
41%
5+0%
Haji WrightFWDCoventry City0.7862provisional0.5741%69
059%
129%
29%
32%
4+1%

10 of 48 players shown, ranked by projection. Show all 48 →

Fouls won53 playersHighest: Bruno Guimarães, 2.29 expectedshow

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.

PlayerTeamModel /90Exp. minsProjectedOver 1.5nDistribution
Bruno GuimarãesMID2.3985provisional2.2965%67
012%
123%
225%
319%
411%
56%
6+4%
Frank OnyekaMIDCoventry City1.9875provisional1.6949%53
022%
129%
224%
314%
47%
53%
6+1%
Bukayo SakaFWDArsenal1.7874provisional1.5144%56
025%
132%
223%
312%
45%
52%
6+1%
Fábio VieiraMID1.6079provisional1.4341%29
026%
132%
223%
312%
45%
52%
6+1%
Leandro TrossardFWDArsenal1.5772provisional1.2936%69
031%
133%
221%
310%
44%
51%
6+0%
Tatsuhiro SakamotoFWDCoventry City1.4972provisional1.2335%79
032%
133%
221%
39%
43%
51%
6+0%
Myles Lewis-SkellyDEFArsenal2.0749provisional1.2032%43
038%
130%
217%
39%
44%
52%
6+1%
Ephron Mason-ClarkMIDCoventry City1.7160provisional1.2033%74
034%
133%
219%
39%
43%
51%
6+0%
Eberechi EzeMIDArsenal1.6960provisional1.1933%67
035%
132%
219%
39%
43%
51%
6+0%
Josh EcclesMIDCoventry City1.5962provisional1.1532%74
036%
132%
219%
39%
43%
51%
6+0%

10 of 53 players shown, ranked by projection. Show all 53 →

Saves5 playersHighest: Carl Rushworth, 3.20 expectedshow

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.

PlayerTeamModel /90Exp. minsProjectedOver 2.5nDistribution
Carl RushworthGKCoventry City3.2489provisional3.2059%48
06%
115%
220%
320%
416%
511%
6+13%
Oliver DovinGKCoventry City3.2387provisional3.1458%28
06%
115%
221%
320%
416%
510%
6+12%
Kepa ArrizabalagaGKArsenal2.6888provisional2.6548%32
09%
120%
223%
320%
413%
58%
6+7%
Illan MeslierGK2.4189provisional2.3842%39
011%
123%
225%
319%
412%
56%
6+5%
David RayaGKArsenal2.1589provisional2.1436%75
014%
125%
225%
318%
410%
55%
6+3%

2 of 7 markets have no projection for this fixture.