PER90

Championship · England

MillwallvNorwich City

The Denlineups not announced

Referee

Not appointed

0 matches on record

Fouls per game

League average

23.2

fouls per match, both teams

Value

No edges published on this fixture. An edge is published only when a bookmaker's price beats the model's fair price by that market's full bar — most fixtures never produce one. The value board explains every gate a candidate has to clear.

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 v20260815-1947 · Tackles v20260815-1947 · Shots v20260815-1947 · Fouls won v20260815-1947 · Cards v20260815-1947 · Saves v20260815-1947

Model projections

Fouls56 playersHighest: Pelle Mattsson, 1.44 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
Pelle MattssonMIDNorwich City1.5484provisional1.4442%33
024%
134%
224%
312%
44%
51%
6+0%
Josh CoburnFWDMillwall1.6971provisional1.3338%38
028%
134%
222%
311%
44%
51%
6+0%
Jovon MakamaFWDNorwich City1.7468provisional1.3037%19
030%
133%
221%
310%
44%
51%
6+0%
Femi AzeezMIDMillwall1.4574provisional1.1933%58
032%
134%
221%
39%
43%
51%
6+0%
Kellen FisherDEFNorwich City1.2679provisional1.1131%74
034%
135%
220%
38%
42%
51%
6+0%
Ryan LeonardDEFMillwall1.2479provisional1.0930%48
035%
135%
219%
38%
42%
51%
6+0%
Anis Ben SlimaneMIDNorwich City1.4366provisional1.0428%46
036%
136%
219%
37%
42%
50%
6+0%
Tristan CramaDEFMillwall1.0588provisional1.0327%66
036%
136%
219%
37%
42%
5+0%
Jake CooperDEFMillwall0.9789provisional0.9725%83
038%
136%
218%
36%
41%
5+0%
Thierno BalloFWDMillwall1.3266provisional0.9625%25
040%
134%
217%
36%
42%
5+0%

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

Tackles56 playersHighest: Pelle Mattsson, 1.39 expectedshow

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.

PlayerTeamModel /90Exp. minsProjectedOver 1.5nDistribution
Pelle MattssonMIDNorwich City1.4984provisional1.3939%33
028%
133%
222%
311%
44%
52%
6+1%
Ryan LeonardDEFMillwall1.5279provisional1.3337%48
031%
131%
220%
310%
44%
52%
6+1%
Casper De NorreMIDMillwall1.4879provisional1.2936%74
030%
133%
221%
310%
44%
51%
6+1%
Kellen FisherDEFNorwich City1.4579provisional1.2736%74
032%
133%
220%
310%
44%
51%
6+1%
Kenny McLeanMIDNorwich City1.1988provisional1.1632%74
034%
134%
219%
38%
43%
51%
6+0%
Tristan CramaDEFMillwall1.1288provisional1.1030%66
036%
134%
219%
38%
43%
51%
6+0%
Jack StaceyDEFNorwich City1.4966provisional1.0930%47
039%
131%
217%
38%
43%
51%
6+0%
Zak SturgeDEFMillwall1.3669provisional1.0428%37
040%
132%
217%
37%
43%
51%
6+0%
Mirko TopićMIDNorwich City1.3369provisional1.0328%13
039%
133%
217%
37%
42%
51%
6+0%
Billy MitchellMIDMillwall1.4257provisional0.9124%34
046%
130%
214%
36%
42%
51%
6+0%

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

Shots56 playersHighest: Femi Azeez, 2.21 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
Femi AzeezMIDMillwall2.6874provisional2.2161%58
015%
124%
223%
318%
411%
56%
6+4%
Josh SargentFWDNorwich City2.0783provisional1.9055%53
017%
128%
225%
316%
48%
54%
6+2%
Josh CoburnFWDMillwall2.2271provisional1.7550%38
021%
129%
224%
315%
47%
53%
6+2%
Thierno BalloFWDMillwall2.1666provisional1.5845%25
026%
129%
222%
313%
46%
52%
6+1%
Mohamed TouréFWDNorwich City2.4557provisional1.5645%9
023%
132%
224%
313%
46%
52%
6+1%
Jovon MakamaFWDNorwich City1.9668provisional1.4742%19
028%
130%
221%
312%
45%
52%
6+1%
Camiel NeghliFWDMillwall1.6876provisional1.4241%43
027%
132%
222%
311%
45%
52%
6+1%
Mihailo IvanovićFWDMillwall2.4947provisional1.2934%60
035%
131%
218%
39%
44%
52%
6+1%
Paris MaghomaMIDNorwich City1.7358provisional1.1230%12
036%
134%
219%
38%
43%
51%
6+0%
Caleb TaylorDEFMillwall1.1184provisional1.0328%25
038%
135%
218%
37%
42%
51%
6+0%
Japhet TangangaDEFMillwall1.0089provisional0.9926%42
038%
136%
218%
36%
42%
5+0%
Jake CooperDEFMillwall0.9589provisional0.9524%83
040%
136%
217%
36%
41%
5+0%
Pelle MattssonMIDNorwich City0.9284provisional0.8722%33
043%
135%
215%
35%
41%
5+0%
Aidomo EmakhuFWDMillwall2.7528provisional0.8521%20
048%
131%
213%
35%
42%
51%
6+0%
Ali AhmedMIDNorwich City1.2362provisional0.8421%16
046%
133%
215%
35%
41%
5+0%
Ante CrnacFWDNorwich City1.3954provisional0.8321%46
046%
134%
214%
35%
41%
5+0%
Anis Ben SlimaneMIDNorwich City1.1266provisional0.8220%46
046%
134%
214%
34%
41%
5+0%
Emiliano MarcondesMIDNorwich City1.5946provisional0.8120%38
048%
132%
213%
35%
41%
50%
6+0%
Ra'ees Bangura-WilliamsFWDMillwall1.6544provisional0.8121%13
050%
130%
213%
35%
42%
50%
6+0%
Tristan CramaDEFMillwall0.8388provisional0.8120%66
046%
135%
214%
34%
41%
5+0%
Mathias KvistgaardenFWDNorwich City2.6525provisional0.7417%17
052%
131%
212%
34%
41%
50%
6+0%
Macaulay LangstaffFWDMillwall2.2130provisional0.7317%31
054%
129%
211%
34%
41%
51%
6+0%
Casper De NorreMIDMillwall0.8279provisional0.7116%74
050%
134%
212%
33%
41%
5+0%
Amankwah ForsonMIDNorwich City1.7236provisional0.6816%18
055%
129%
211%
34%
41%
5+0%
Daniel KellyMIDMillwall1.0755provisional0.6616%4
056%
128%
211%
34%
41%
5+0%
Oscar SchwartauMIDNorwich City1.1948provisional0.6414%47
056%
130%
210%
33%
41%
5+0%
Matěj JurásekFWDNorwich City1.6535provisional0.6314%8
056%
129%
210%
33%
41%
5+0%
Derek Mazou-SackoMIDMillwall0.8964provisional0.6315%13
057%
129%
211%
33%
41%
5+0%
Mirko TopićMIDNorwich City0.8169provisional0.6314%13
055%
132%
210%
33%
4+1%
Liam GibbsMIDNorwich City1.0748provisional0.5712%17
059%
129%
29%
32%
41%
5+0%
Harry DarlingDEFNorwich City0.5887provisional0.5611%34
058%
131%
29%
32%
4+0%
Shane DuffyDEFNorwich City0.6577provisional0.5611%49
058%
130%
29%
32%
4+0%
Ruairi McConvilleDEFNorwich City0.6478provisional0.5511%27
059%
130%
29%
32%
4+0%
Kenny McLeanMIDNorwich City0.5588provisional0.5410%74
059%
131%
28%
32%
4+0%
Kellen FisherDEFNorwich City0.5779provisional0.5010%74
061%
129%
28%
31%
4+0%
Tommy WatsonFWDMillwall2.5918provisional0.5010%2
062%
128%
27%
32%
40%
5+0%
Tony SpringettFWDNorwich City1.1438provisional0.499%10
063%
128%
27%
32%
4+0%
Ryan LeonardDEFMillwall0.5579provisional0.489%48
063%
128%
27%
31%
4+0%
Errol Mundle-SmithFWDNorwich City2.5217provisional0.489%1
062%
129%
27%
31%
4+0%
Jacob WrightMIDNorwich City0.8449provisional0.469%28
065%
126%
27%
31%
4+0%
Zak SturgeDEFMillwall0.5869provisional0.448%37
065%
127%
27%
31%
4+0%
Alfie DoughtyMIDMillwall1.0538provisional0.449%16
068%
124%
27%
32%
4+0%
Luke CundleMIDMillwall1.0834provisional0.407%26
069%
123%
26%
31%
4+0%
Will SmallboneMIDMillwall1.3925provisional0.387%3
071%
122%
25%
31%
4+0%
Joe BryanDEFMillwall0.6848provisional0.366%45
072%
122%
25%
31%
4+0%
José CórdobaDEFNorwich City0.3977provisional0.345%50
072%
123%
24%
3+1%
Barry BannanMIDMillwall1.0827provisional0.335%6
074%
120%
24%
31%
4+0%
Jack StaceyDEFNorwich City0.4366provisional0.315%47
074%
121%
24%
3+1%
Lucien MahovoDEFNorwich City0.5450provisional0.304%8
075%
121%
24%
3+1%
Billy MitchellMIDMillwall0.4657provisional0.294%34
076%
120%
24%
3+1%
Sam FieldMIDNorwich City0.7036provisional0.284%7
077%
119%
23%
3+1%
Jakov MedicDEFNorwich City0.2968provisional0.222%14
081%
117%
22%
3+0%
Ben ChriseneDEFNorwich City0.4039provisional0.172%31
085%
114%
22%
3+0%
Wes HardingDEFMillwall0.4821provisional0.111%4
090%
19%
21%
3+0%
Max CrocombeGKMillwall0.0090provisional0.0023
0100%
1+0%
Vladan KovacevicGKNorwich City0.0090provisional0.0045
0100%
1+0%

All 56 players shown, ranked by projection. Show fewer ↥

Fouls won56 playersHighest: Pelle Mattsson, 1.80 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
Pelle MattssonMIDNorwich City1.9384provisional1.8052%33
018%
129%
225%
315%
47%
53%
6+2%
Kenny McLeanMIDNorwich City1.7888provisional1.7351%74
019%
130%
225%
315%
47%
53%
6+1%
Ali AhmedMIDNorwich City1.8562provisional1.2735%16
032%
132%
220%
310%
44%
51%
6+1%
Kellen FisherDEFNorwich City1.2779provisional1.1231%74
035%
134%
219%
38%
43%
51%
6+0%
Harry DarlingDEFNorwich City1.1487provisional1.1130%34
035%
135%
220%
38%
42%
51%
6+0%
Josh CoburnFWDMillwall1.3771provisional1.0829%38
037%
134%
219%
37%
42%
51%
6+0%
Ryan LeonardDEFMillwall1.2379provisional1.0829%48
037%
134%
219%
38%
42%
51%
6+0%
Japhet TangangaDEFMillwall1.0689provisional1.0528%42
036%
136%
219%
37%
42%
50%
6+0%
Emiliano MarcondesMIDNorwich City1.9946provisional1.0227%38
041%
132%
216%
37%
43%
51%
6+0%
Josh SargentFWDNorwich City1.0183provisional0.9324%53
041%
135%
217%
35%
41%
5+0%

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

Cards56 playersHighest: Pelle Mattsson, 0.24 expectedshow

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.

PlayerTeamModel /90Exp. minsProjectedOver 0.5nDistribution
Pelle MattssonMIDNorwich City0.2684provisional0.2421%33
079%
119%
22%
3+0%
Kellen FisherDEFNorwich City0.2479provisional0.2119%74
081%
117%
22%
3+0%
Zak SturgeDEFMillwall0.2169provisional0.1615%37
085%
113%
2+1%
Femi AzeezMIDMillwall0.1974provisional0.1615%58
085%
113%
2+1%
Anis Ben SlimaneMIDNorwich City0.2166provisional0.1614%46
086%
113%
2+1%
Ryan LeonardDEFMillwall0.1779provisional0.1514%48
086%
113%
2+1%
Jake CooperDEFMillwall0.1589provisional0.1514%83
086%
113%
2+1%
Tristan CramaDEFMillwall0.1588provisional0.1514%66
086%
113%
2+1%
Vladan KovacevicGKNorwich City0.1490provisional0.1413%45
087%
112%
2+1%
Thierno BalloFWDMillwall0.1966provisional0.1413%25
087%
112%
2+1%

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

Saves2 playersHighest: Vladan Kovacevic, 2.85 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
Vladan KovacevicGKNorwich City2.8590provisional2.8552%45
07%
118%
222%
320%
415%
59%
6+9%
Max CrocombeGKMillwall2.5990provisional2.5947%23
09%
120%
224%
320%
413%
57%
6+6%

1 of 7 markets have no projection for this fixture.