2026 Season·Team Boxing League
The Official Record
TBL Stats
The Official Record · 2026
Methodology · Model 2026.1

How WPA Works

What WPA Measures

Every round changes your team's chance of winning the match. WPA — Win Probability Added — is that change, credited to the fighter who caused it. Win a round and your team's chances go up; you get that gain. Lose it and your opponent gets the gain while you get the equal-and-opposite loss.

The point of the stat is context. In the box score, a round won with the match on the line looks identical to one won in a blowout. WPA is the stat that knows the difference.

See it in action on the advanced leaderboard, on every fighter profile, and round by round on every match page. Two stats build directly on this model: Leverage Index and Clutch and Comebacks and Blown Leads.

A Worked Example

Match 6, Phoenix vs Boston, round 16. Phoenix trailed by 2 points with 8 rounds left to fight. In that spot, teams win about 25% of the time — they need to claw back two points against a team that only has to hold serve.

Manuel Villalobos then scored a TKO — worth 4 points. One round later Phoenix wasn't down 2; they were up 2 with 7 rounds left, a spot teams convert about 75% of the time.

Before the round: 25% chance. After the round: 75% chance. Villalobos personally moved his team 50 percentage points toward a win. That's WPA +0.500 — the biggest single round of the 2026 season. His opponent is charged the mirror image, −0.500.

The Same Win Isn't Always Worth the Same

Take the most ordinary result there is: a 1-point decision win while the match is tied. Watch what it's worth as the match runs out of road:

Situation (match tied)WPA for the win
24 rounds left+0.08
20 rounds left+0.09
12 rounds left+0.12
8 rounds left+0.14
4 rounds left+0.20
1 round left+0.50

Same punch, same scorecard, wildly different stakes. Fans understand this intuitively from watching — a tied final round is everything, a tied 4th round is a skirmish. WPA just gives that intuition a number.

Why Time Itself Matters

Holding a lead while rounds tick away raises your win probability even when the score doesn't move. Fewer remaining rounds means fewer chances for the trailing team to catch up — so the clock quietly works for whoever is ahead.

A real case: match 8, round 23. Philadelphia lost the round, but their win probability still went up — Las Vegas simply no longer had enough rounds left to close the gap. WPA reflects this: a round can carry value even at 0-0, and a lost round late can still be a "good" round for the team protecting a big lead. This is intended behavior, not a quirk.

How Disqualifications Are Handled

Disqualification rounds are credited to neither fighter. Both fighters receive exactly zero WPA for a DQ round.

The reasoning: a disqualification is a referee's decision, not a boxing performance. Beyond that, the source data records only who was awarded the points — not who was disqualified. We can usually infer the offender from the scoring, but "usually" isn't a standard a public stat should rest on: a DQ can arise from an accidental foul, a cut, or a fighter unable to continue, and the data cannot distinguish those cases. Rather than credit or charge the wrong fighter, WPA attributes disqualification rounds to nobody.

The points still count. They're on the scoreboard, they shift the match differential, and they change every following round's win probability. Only the credit is withheld. This affects 8 rounds in the 2026 season. The largest came in match 13, where a DQ in the final round of a tied match decided it — worth 0.500 of win probability, now attributed to nobody.

How the Model Was Built

The model uses exactly two inputs: the score differential and how many rounds are left. Nothing about who the fighters are.

That is deliberate. How good the fighters are, and how good their teams are, is left out entirely. WPA measures what happened to the team's chances — not how impressive it was against that particular opponent.

It was built from all 55 matches and 1,314 rounds of the 2026 season. And it balances exactly: setting aside disqualification rounds, every fighter on a winning team splits exactly +0.500 of WPA between them, and every fighter on a losing team splits −0.500. Nothing is invented and nothing goes missing.

How Accurate Is It

Read this table as: "when the model said 62%, teams actually won about 65% of the time." Across every round of the season, the model's stated chances track what actually happened:

Model saidTimesActually won
0–5%4220%
5–15%16512.7%
15–30%24524.9%
30–45%31334.7%
45–55%33850.0%
55–70%31365.3%
70–85%24575.1%
85–95%16587.3%
95–100%422100%
What WPA Does Not Do
  • It does not account for opponent difficulty. Beating the best fighter in the league counts the same as beating the worst.
  • It is built on a single season of data. Expect refinements as more seasons accumulate.
  • Fighters with very few rounds can post extreme values. That's why the leaderboard defaults to a 10-round minimum.
  • It correlates about 0.78 with raw round win rate. WPA is round wins adjusted for when they happened — it is not a completely independent measure of skill.
  • Disqualification rounds are attributed to nobody, so a small amount of win probability in a handful of matches is unassigned.
Technical Details — the formal spec

Two-stage model (version 2026.1, fit on the 2026 season). Stage 1: the per-round point margin follows a fixed empirical distribution (symmetrized so neither side has a built-in edge). The chance of winning from differential d with r rounds remaining is obtained by convolving that distribution r times, shifting by d, and taking P(final > 0) + ½·P(final = 0) — the half credit because TBL matches can end in a draw. Stage 2: the baseline probability is sharpened through a logit transform with a single fitted parameter γ = 1.4164008922 — real TBL leads are more decisive than a pure random walk predicts, because teams that lead are often genuinely better. r = 0 is deterministic (1 / 0 / ½), never routed through the formula.

Margin distribution (probability of each per-round point margin):

Margin-4-3-2-10+1+2+3+4
P0.0258750.0030440.0384320.4315070.0022830.4315070.0384320.0030440.025875

Per-round WPA. For a match with N scheduled rounds (24 for most 2026 matches; matches 7 and 48 were 21), round t compares WP(diff after round t, N−t rounds left) against WP(diff after round t−1, N−t+1 left). The winning side's fighter is credited the change; the other fighter gets the exact negative.

Rules. DQ rounds: zero credit to both fighters; points still count toward the differential (8 rounds in 2026). Match 14's round 25 was a post-match administrative award and is excluded entirely — WPA uses the competitive scoreboard (San Antonio 15-13) while the official result stands in the standings. Match 25 was an official draw; both teams' WPA sums to 0.000. Rounds scored 0-0 still elapse and still move win probability for the leading team; one such round (match 25, round 19) has no fighter data and is assigned to no fighter.

Validation. Before the DQ adjustment: every round is zero-sum between the teams; each match's round WPA telescopes to (outcome − ½) within 1e-9; the season sums to 0.000; and the table satisfies WP(d,r) + WP(−d,r) = 1 for every cell. After the adjustment, all 8 DQ rounds carry exactly 0.0 on both sides. The shipped lookup table is verified against fixed checksums (e.g. WP(+1,1) = 0.788514, WP(+7,2) = 0.999963) on every regeneration and in the test suite.

Win probability grid — the team's chance of winning at score differential d (rows) with r rounds remaining (columns):

d \ r0123456789101112131415161718192021222324
+20100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0
+19100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0
+18100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.099.9
+17100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.099.999.999.999.9
+16100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.099.999.999.999.999.899.8
+15100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.099.999.999.999.999.999.899.899.799.7
+14100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.099.999.999.999.999.899.899.799.799.699.699.5
+13100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.099.999.999.999.899.899.899.799.699.599.599.499.399.2
+12100.0100.0100.0100.0100.0100.0100.0100.0100.0100.0100.099.999.999.899.899.799.699.699.599.499.299.199.098.998.7
+11100.0100.0100.0100.0100.0100.0100.0100.0100.099.999.999.899.899.799.699.599.399.299.198.998.898.698.498.398.1
+10100.0100.0100.0100.0100.0100.0100.099.999.999.899.799.699.599.499.299.098.998.798.598.398.097.897.697.397.1
+9100.0100.0100.0100.0100.0100.099.999.999.899.699.599.399.198.998.698.498.197.897.597.296.996.696.396.095.7
+8100.0100.0100.0100.0100.099.999.899.699.499.298.998.698.398.097.697.296.996.596.195.795.495.094.694.293.9
+7100.0100.0100.0100.099.999.799.499.298.898.497.997.597.096.596.095.595.094.594.193.693.192.792.291.891.4
+6100.0100.0100.099.899.699.298.798.197.596.996.295.594.994.293.692.992.391.791.290.690.189.589.088.588.1
+5100.0100.099.899.598.898.097.196.195.294.293.392.491.690.890.089.288.587.987.286.686.085.484.984.483.9
+4100.099.899.498.496.795.593.892.691.190.088.887.886.785.985.084.283.482.782.081.480.880.379.779.278.7
+3100.099.498.194.392.989.788.586.285.083.382.381.180.279.278.477.676.976.275.675.074.574.073.573.172.6
+2100.098.689.588.182.781.678.477.475.574.673.272.571.570.870.169.568.968.467.967.567.066.766.366.065.6
+1100.078.977.670.569.866.766.164.463.962.962.461.761.360.860.560.159.859.559.259.058.858.658.458.258.0
050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.050.0
-10.021.122.429.530.233.333.935.636.137.137.638.338.739.239.539.940.240.540.841.041.241.441.641.842.0
-20.01.410.511.917.318.421.622.624.525.426.827.528.529.229.930.531.131.632.132.533.033.333.734.034.4
-30.00.61.95.77.110.311.513.815.016.717.718.919.820.821.622.423.123.824.425.025.526.026.526.927.4
-40.00.20.61.63.34.56.27.48.910.011.212.213.314.115.015.816.617.318.018.619.219.720.320.821.3
-50.00.00.20.51.22.02.93.94.85.86.77.68.49.210.010.811.512.112.813.414.014.615.115.616.1
-60.00.00.00.20.40.81.31.92.53.13.84.55.15.86.47.17.78.38.89.49.910.511.011.511.9
-70.00.00.00.00.10.30.60.81.21.62.12.53.03.54.04.55.05.55.96.46.97.37.88.28.6
-80.00.00.00.00.00.10.20.40.60.81.11.41.72.02.42.83.13.53.94.34.65.05.45.86.1
-90.00.00.00.00.00.00.10.10.20.40.50.70.91.11.41.61.92.22.52.83.13.43.74.04.3
-100.00.00.00.00.00.00.00.10.10.20.30.40.50.60.81.01.11.31.51.72.02.22.42.72.9
-110.00.00.00.00.00.00.00.00.00.10.10.20.20.30.40.50.70.80.91.11.21.41.61.71.9
-120.00.00.00.00.00.00.00.00.00.00.00.10.10.20.20.30.40.40.50.60.80.91.01.11.3
-130.00.00.00.00.00.00.00.00.00.00.00.00.10.10.10.20.20.20.30.40.50.50.60.70.8
-140.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10.10.10.10.20.20.30.30.40.40.5
-150.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10.10.10.10.10.20.20.30.3
-160.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10.10.10.10.20.2
-170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10.10.10.1
-180.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.1
-190.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0
-200.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0