# How the numbers are computed

> The estimator, the four denominators, the floors, and what the data does not measure.

| Field | Value |
| --- | --- |
| Data published | 2026-09-28 |
| This document | https://suckerpunch.gg/ai/method.md |
| Human page | https://suckerpunch.gg/method/ |

## The estimator

Raw wins over games cannot be ranked against each other: a species on six teams sits at 70%
off ten games while a staple sits at 52% off forty thousand. Every rate here is instead
pulled toward the field average by a Beta prior fitted to the field itself, by method of
moments. The published figure is the posterior mean:

```
rate = (wins + alpha) / (games + alpha + beta)
```

A row carries `games / (games + kappa)` of its own record, where `kappa = alpha + beta`. The
fitted kappa is multiplied before use, because a species' record also carries its five
teammates' and its pilot's strength, and it is capped relative to what a typical row in that
fit actually played.

On roster boards the sample is counted in people rather than games: one account can play the
same team two hundred times, so a second fit runs over pilots and deflates a row's count to
what its pilots are worth between them. Wins and games scale together, so the rate itself is
never moved by that step.

Current pooled fit: strength 990 at a field mean of 49.61%, over 81,478 decided matches.

## Confidence

Every row also carries a one-sided 95% lower bound, published as `winRateLower`. It is the
rate that can be defended rather than the rate estimated, and tiers are banded on it.

## Denominators

| Figure | Numerator / denominator |
| --- | --- |
| Usage | teams carrying the species / every team in the scope |
| Win rate | matches won / matches decided, ties excluded |
| Teammate share | rosters carrying both / rosters carrying the anchor |
| Move, item, ability, tera, nature | teams running the option / teams carrying the species and publishing a list |

## Floors

A floor is applied after the prior is fitted, never before: hiding small rows from the fit
would bias the field average the fit exists to estimate. A floor is a display rule, and it
does not make the rows above it equally reliable. That is what the interval is for.

## What this does not measure

- Only teams that published a list are in the build data, which at most events is the cut.
- Duo cells are roster co-membership, not leads.
- One match feeds every pair on both rosters, so those cells overstate their own evidence.
- A win rate is a team's record credited to each species on it.

## Freshness and provenance

- Rendered at deploy time from the published snapshots. Snapshot stamp: 2026-09-28.
- The boards behind them republish daily, so a figure here can trail the live data by a deploy.
- The read that is never behind is the JSON API: https://suckerpunch.gg/ai/api.md.
- Tournament data and ladder data are separate populations and are never blended.
- Estimator, denominators and floors: https://suckerpunch.gg/ai/method.md.
- Attribution: Sucker Punch, https://suckerpunch.gg.
