How often should a zombie team win?

nervous_north1 pts0 comments

How often should a zombie team win? | Jordan LordJordan LordContact<br>Blog<br>Projects

How often should a zombie team win?<br>22 Aug 2026

Motivation

I work on a football management game. One challenging problem has been the curse<br>of "zombie" teams. A zombie team is a club that is unmanaged where the squad has<br>deteriorated to only reserve players. It's basically the poorest quality team in<br>the game.

The curse is that they still get results against strong teams. They score on<br>average 0.4 goals per game and manage to get at least a draw in approximately 4%<br>of matches. Before diving into changing the match engine, I needed a model that<br>I could tune the match engine to, otherwise I'd just be moving multipliers until<br>the results align. Changing modifiers based on feel has been our current<br>approach so far.

One of the goals of this article is to provide a practical benchmark for further<br>analysis and development of a football match simulation engine.

Why Elo?

Why Elo? Elo is able to calculate an expected result given the difference in<br>team strengths. It gives a model that extrapolates intuitively from real teams<br>that are equally matched to extreme mismatches that aren't usually seen in real<br>world football. Those extreme mismatches are where real-world data is<br>sparse. Also Elo has already been applied to football by Hvattum and<br>Arntzen and also used by<br>systems such as ClubElo.

The current zombie landscape

Production data showed that the favourite team, with a lineup-rating advantage of<br>20 or more, won 97.6%, drew 1.3% and lost 1.1% of the time. However, the<br>controlled zombie test was worse at roughly a 4% result rate.

Looking at the tables later in this article, those result rates fit at around<br>mismatches of +751 and +660 Elo respectively (using a 400-point<br>benchmark). Intuitively this doesn't feel right. A real zombie would be<br>equivalent to a non-professional team. As a comparison using data from<br>ClubElo.com, we're actually seeing a result rate that<br>would be closer to Arsenal or Manchester City being in League Two (as of August<br>2026), rather than in a non-professional league. That rate comes at +650 on<br>average for an elite Premier League team vs a League Two team. Hence you could<br>imagine the Premier League champions dropping a couple of points over the course<br>of a 46 game League Two season. This would loosely align with the favourite's<br>observed result rate of 97.6%. However, if we want the true zombie<br>non-professional effect, then a zombie result should be extremely rare.

We can turn to chess to build an intuitive loose mental model for the zombie. A<br>casual online chess player might have a rating of 1,000 while a grandmaster has<br>a rating of 2,500. That's a +1,500 gap. Note this is only an initial observation<br>based on intuition, not the actual method of calibration.

Adding draws with the Rao-Kupper model

Standard Elo formulas give an expected score given the rating difference<br>between two competitors. In a binary game, the score can be treated as a win<br>probability. However, that doesn't directly translate into football. Football is<br>a ternary game, so we need to model draws if we want to build a model. To<br>achieve this, I attempted both the Rao-Kupper and Davidson models. Although both<br>fitted the data well, I found that the Rao-Kupper ordered-logistic model had a<br>more intuitive extreme mismatch tail. So that's the one that's used moving<br>forwards, as the extreme mismatch tail is where the zombies live.

For fitting, I took 46,652 matches for training and 10,916 as a chronological<br>holdout from the public Club Football Match Data<br>repository. The<br>fitted model's chronological holdout log loss was 1.001, beating the frequency<br>baseline on unseen matches at 1.075. The frequency baseline basically used the<br>training set's overall home-win, draw, and away-win frequencies.

With the Elo scale fixed at 400, I used maximum likelihood to fit home advantage<br>and the neutral draw margin. I found that the fitted equal-team draw probability<br>was 30%.

In the dataset, there is a home advantage so we have to factor that in. Home<br>advantage was fitted at approximately 59.8 Elo points. Although 430 was the Elo<br>scale that fitted the given dataset, I chose to fix the Elo scale at 400 as that<br>is more conventional, and refitted the other parameters. The neutralDrawMargin<br>is the range around a neutral performance which becomes a draw at approximately<br>30%.

eloScale = 400<br>homeAdvantage = 59.8<br>neutralDrawMargin = 0.6195

P(draw | equal teams, neutral ground)<br>= 1 - 2 * sigmoid(-neutralDrawMargin)<br>= 30.0%

Using those formulas, we can calculate the probability of a home win, away win<br>or a draw. d is the home team's Elo minus the away team's Elo.

effectiveDifference = d + homeAdvantage<br>z = ln(10) * effectiveDifference / eloScale

P(home win) = sigmoid(z - neutralDrawMargin)<br>P(away win) = sigmoid(-z - neutralDrawMargin)<br>P(draw) = 1 - P(home win) - P(away win)

P(underdog result) = P(draw) + P(underdog win)

For a neutral match, we set homeAdvantage...

team zombie draw model home football

Related Articles