Foul Throw The Man City 115 Charges Explorer← Back to the explorer

Calculations

The explorer changes one thing: Manchester City’s results in the seasons you choose. Every other recorded result stays as it was, and everything else follows from the rules below.

League tables

Hypothetical sanctions

You can choose how City is treated. These are illustrations only, not predictions: any sanction is a matter for the independent commission and any appeal.

SanctionWhat the explorer does
Results removed (default)City’s matches are taken out of each season in scope, or counted as 3–0 defeats. Other clubs’ results stand.
Points deductionCity keeps its results and loses the chosen points, in each season in scope or once in a chosen season. The table, title, European places and relegation are recalculated. No other club’s points change.
Titles strippedResults stand. Each City title in scope passes to the runner-up; the rest of the table is unchanged.
RelegationCity goes to the bottom of the chosen season, so the club that would have gone down in its place stays up. City’s results are removed from every later Premier League season. Which division City would then play in is not modelled.

Transfer bans and fines are not modelled: their effect on results cannot be derived from the data. Money shown is for clubs other than City.

Ripple test (speculative)

The lower-league ripple is outside the Premier League case. It is off by default and labelled as speculation when switched on. If a club avoids relegation in the recalculation, it would not have played in the division below the following season. The ripple test removes that club from its recorded lower-division season, and the same rule then carries down through the divisions you select. No replacement fixtures are invented, so this is a sensitivity test, not a rebuilt football pyramid.

European places

Each Premier League position gets the European place it actually received that season. That includes cup-winner places passed down the table, the effect of Champions League titleholders, and the extra Champions League place England earned for 2025/26 and 2026/27. Cup-winner and Fair Play entries from outside the league places are unchanged. A season still in progress uses the most recent completed allocation.

Cups

The case is a Premier League prosecution. Cup and European competitions are run by other bodies (the FA, the EFL, UEFA and FIFA) and are outside it. They are speculative: off by default, and only shown when you switch them on under “Speculative effects”, where they are labelled as speculation.

If City won a cup in a season you’ve selected, the trophy goes to the beaten finalist. Every other cup keeps its recorded winner. Earlier rounds are not replayed, because the records contain only City’s matches, not full draws.

Money

Every value is the difference in published central payments or prize money between the recorded outcome and the scenario, for the first season affected:

ChangeValue
Premier League places gained or lostplaces × that season’s merit payment per place (UK plus international merit)
Staying in, or relegated from, the Premier Leaguenext season’s lowest Premier League central payment − the first-year parachute payment
Promotion from the Championshipnext season’s lowest Premier League payment − Championship solidarity payment
Promotion or relegation between the EFL divisionsthe difference between the Premier League solidarity payments to each division
European placesthe UEFA entry fee for the following season’s competition (or the difference between two competitions’ fees), converted at the ECB season average
Reassigned cupswinner’s prize − runner-up’s prize (FA Cup, League Cup, Super Cup, Club World Cup). For the Champions League, UEFA’s winner award. The Community Shield pays no prize money, so it counts as £0.

Missing figures are shown as n/a and left out of totals, never counted as zero. Estimated figures are marked. These amounts are gross receipts. They leave out matchday income, sponsorship, player sales, wages and other costs, later seasons (parachute years two and three, surviving longer), and the risk of failing to qualify from a European qualifying round. They are not damages, and the totals are not additive claims.

Reproduce it

Everything runs in your browser from the files in data/. The table logic is in js/engine.js and the rest is in js/app.js. Every tab can export a CSV of what it shows, including the settings you used.

League results are checked match by match against two independent public sources (openfootball, public domain, and football-data.co.uk), and every points deduction against its Wikipedia season page. The headline figures are recalculated independently of the site’s own code and compared with it.