# Why Gijón wasn't a prisoner's dilemma

Source: https://www.footballdatascience.co.uk/learn/gijon-prisoners-dilemma
Published: 2026-10-01

> In 1982 West Germany and Austria knew a 1–0 win for West Germany put them both through, and for 80 minutes nobody tried to change it. Game theory's most famous puzzle, the prisoner's dilemma, explains why deals fall apart. Gijón shows the other kind, the deal that needs no one to agree to it.

## The football question

Two teams are about to play. They both know which result would suit them, and they can't talk to each other about it. **Do they need to agree anything, or will that result just happen?**

Game theory's most famous puzzle, the **prisoner's dilemma**, says that a deal good for both sides can fall apart, because each is tempted to break it. One afternoon in Spain in 1982 showed the opposite: a result that suited both sides held for 80 minutes without, as far as anyone has shown, a word being said. The two are worth seeing side by side, because the difference is what game theory is really about.

## The concept

The prisoner's dilemma was designed by Merrill Flood and Melvin Dresher at the RAND Corporation in 1950. The mathematician Albert Tucker later gave it its name, telling it as a story about two prisoners. Here it is with two football clubs instead.

Two rival clubs are chasing the same players and the same league places. Each decides whether to **hold** its wage bill or **raise** it. Raising wins players from the other club, but if both raise, they just pay more for the same squads. Here's each club's profit for a season in £m (made-up numbers), Club A's first:

| Club A | B holds | B raises |
|---|---|---|
| A holds | 5, 5 | 1, 8 |
| A raises | 8, 1 | 2, 2 |

<div class="plain" markdown="1">
In plain football

- **Both hold:** both keep their wage bills under control and make £5m each.
- **One raises:** it takes players from the other and makes £8m, and the club that held makes £1m.
- **Both raise:** the extra wages cancel out. Neither gains a player, and each makes only £2m.
</div>

Look at it from Club A's side. If B holds, raising earns 8 instead of 5. If B raises, raising earns 2 instead of 1. **Whatever B does, A does better by raising.** A choice that's best whatever the other side does is called a **dominant strategy**. B's position is exactly the same, so both raise, and both make £2m when they could have made £5m.

That's the dilemma. Both holding would be better for both of them, but it isn't a [Nash equilibrium](/learn/penalties-nash-equilibrium): each club gains by breaking it. Even if the two chairmen promised each other to hold, each would have a reason to break the promise. It's the reverse of the [dominated choice](/learn/penalties-the-middle) from Part 2: here one option is so good it's chosen whatever happens, and that's what causes the trouble.

## Gijón, 1982

The 1982 World Cup group stage had four teams in each group, the top two going through, two points for a win and goal difference to split teams level on points. Group 2 had West Germany, Austria, Algeria and Chile.

Algeria had beaten West Germany 2–1 in their first game, one of the World Cup's great shocks. On 24 June they beat Chile 3–2, finishing with 4 points. The last group game, **West Germany v Austria**, was played the next day, 25 June, at El Molinón in Gijón. By kick-off both teams knew exactly what every result would do:

| West Germany v Austria | Who goes through |
|---|---|
| Win by 1 or 2 | West Germany and Austria |
| Win by 3 | West Germany, then Austria or Algeria |
| Draw or Austria win | Austria and Algeria |

<div class="plain" markdown="1">
In plain football

- West Germany had to win. A draw left them behind Algeria on points.
- Austria could lose, as long as they didn't lose by three or more. A three-goal defeat would leave them level with Algeria on points and goal difference.
- **A West German win by one or two goals put both teams through**, and Algeria out.
</div>

Horst Hrubesch scored for West Germany after 10 minutes. For the rest of the match, both sides passed the ball around, mostly in their own halves, with hardly a serious attempt on goal. It finished 1–0. West Germany, Austria and Algeria all ended on 4 points, and Algeria went out on goal difference. Algeria complained, and FIFA ruled that no rules had been broken. Both teams denied any arrangement.

### The game at 1–0

Once Hrubesch had scored, each side had a simple choice: **sit back** or **push on**. Pushing on might bring another goal, but it also leaves space behind, and a goal at the wrong end could change everything. Here's each side's chance of going through (made-up numbers), West Germany's first:

| W Germany | Austria sits | Austria pushes |
|---|---|---|
| W Germany sits | 95, 95 | 80, 93 |
| W Germany pushes | 90, 85 | 75, 88 |

<div class="plain" markdown="1">
In plain football

- **Both sit back:** 1–0 is very likely to stay 1–0, and both go through 95 times in 100.
- **Austria pushes on:** an equaliser would knock West Germany out, so West Germany's chance falls. But Austria were going through anyway, so pushing only adds risk for them too.
- **West Germany pushes on:** a second goal changes little, while a breakaway equaliser would knock them out. A third goal would put Austria in danger.
</div>

<figure class="rank-chart">
<div role="img" aria-label="Two small tables with arrows. In the wages game, Club A's arrows point to raising in both columns and Club B's arrows point to raising in both rows, so they meet at raise and raise, worth 2 and 2, although hold and hold, worth 5 and 5, is better for both. In the Gijón game, West Germany's arrows point to sitting back in both columns; Austria's point to sitting back when West Germany sits and to pushing when West Germany pushes. They meet at both sitting back, worth 95 and 95, the best cell for both.">

</div>
<figcaption>Each arrow points to a side's best reply. Pale arrows are the row team choosing, gold arrows the column team. The highlighted cell is where both are already making their best reply: the equilibrium. In the wages game it's the worst cell but one for both; at Gijón it's the best for both.</figcaption>
</figure>

Follow the arrows. **Sitting back is West Germany's best choice whatever Austria does**, a dominant strategy. Austria's best choice depends on West Germany's: push on against a team that's pushing on, sit back against a team that's sitting back. Since West Germany sit back, so do Austria. Both sitting back is the only Nash equilibrium.

And unlike the wage race, **no other result is better for both**. There's no temptation to break the "deal", because there's nothing to gain by breaking it. That's why nobody needed to agree anything. Each side only had to work out its own best move, and the 1–0 held itself in place. The side that lost out wasn't playing.

## Equilibrium isn't the same as fair

The two games together make the point that game theory is most often misread on:

- In the **wage race**, the equilibrium is bad for both players. Each does what's best for itself, and both end up worse off.
- At **Gijón**, the equilibrium was good for both players and bad for someone who had no say: Algeria.

A Nash equilibrium only says that no player can do better by changing his own choice alone. It says nothing about whether the result is good, for the players or for anyone else.

## The fix: kick off at the same time

From the 1986 World Cup on, the last pair of matches in each group have kicked off at the same time. It's a lesson in what game theory says a rule can and can't change. The fix doesn't change what anyone wants. It takes away what they **know**. With Algeria's match still being played, no score in Gijón would have been safe to settle for, because nobody could know which score suited them.

That only works if the right result depends on the other match. At **Euro 2004**, Denmark and Sweden met in the last round of group games on 22 June, at the same time as Italy v Bulgaria. A draw of 2–2 or higher would put both Denmark and Sweden through whatever Italy did, because of how the tie-break between the three teams worked. The match finished 2–2, with Mattias Jonson's equaliser for Sweden in the 89th minute. Italy beat Bulgaria with a goal in stoppage time and went out anyway. There's no evidence anything was arranged, and both teams had said before the game it wouldn't happen. Game theory's point is that, as at Gijón, nothing needed arranging: when one result suits both sides whatever happens elsewhere, kicking off together can't remove it.

## Why it matters

Two lessons carry well beyond the World Cup. Good outcomes for both sides don't happen just because both want them: the wage race shows a deal can fall apart when each side is tempted to break it. And sometimes nobody needs a deal at all, because each side's own best move gets them both there, which is also why such results are so hard to prove or punish. Rules work by changing what the players want or what they know. Part 6 of this series looks at designing rules that way. Part 4 looks at what happens when the two sides move in turn rather than at once.

## Limitations

- **The chances at 1–0 are made up.** They show the shape of the game, not what the players thought. Change them a little and the conclusion holds, as long as an Austrian equaliser hurts West Germany and a breakaway goal is a real risk.
- **Nobody has shown that anything was agreed.** FIFA found no rule broken, and both teams denied it. The point here is that the result didn't need an agreement, not that there was one.
- **The players weren't working out tables.** As in Part 1, game theory describes where sensible players end up, not how they think.
- **The wage race is made up** and simplified to two clubs and two choices. Real wage spending has many clubs, and some do win by spending.

## Try it yourself

Think of a last-day match in your own league where one result suited both teams. Did the two kick off at the same time as the matches that mattered to them? If they had, would the score that suited them still have been the same whatever happened elsewhere?

## Reproduce the analysis

This works out who goes through for each possible score at Gijón from the group's real results, then finds the equilibrium of each made-up game by checking every cell. Nothing to download.

```python
# 1982 World Cup, group 2: every result before West Germany v Austria. Two points for a win, then goal difference.
played = [("West Germany", 1, "Algeria", 2), ("Chile", 0, "Austria", 1), ("West Germany", 4, "Chile", 1),
          ("Algeria", 0, "Austria", 2), ("Algeria", 3, "Chile", 2)]


def standings(results):
    """Points, goal difference and goals for each team, best first."""
    t = {}
    for home, hg, away, ag in results:
        for team, scored, conceded in ((home, hg, ag), (away, ag, hg)):
            p, gd, gf = t.get(team, (0, 0, 0))
            t[team] = (p + 2 * (scored > conceded) + (scored == conceded), gd + scored - conceded, gf + scored)
    return sorted(t.items(), key=lambda kv: kv[1][:2], reverse=True)


print("West Germany v Austria: who goes through")
for g, a in [(1, 0), (2, 0), (2, 1), (3, 0), (0, 0), (0, 1)]:
    t = standings(played + [("West Germany", g, "Austria", a)])
    if t[1][1][:2] == t[2][1][:2]:
        print(f"  {g}-{a}: {t[0][0]}, then {t[1][0]} or {t[2][0]}: level on points and goal difference")
    else:
        print(f"  {g}-{a}: {t[0][0]} and {t[1][0]}")


def equilibria(game):
    """Cells where neither side can do better by changing only his own choice: the Nash equilibria."""
    rows, cols = sorted({r for r, _ in game}), sorted({c for _, c in game})
    return [(r, c) for r in rows for c in cols
            if game[r, c][0] == max(game[x, c][0] for x in rows) and game[r, c][1] == max(game[r, y][1] for y in cols)]


def dominant(game, side):
    """A choice that's best for one side whatever the other does, if there is one."""
    mine, theirs = sorted({k[side] for k in game}), sorted({k[1 - side] for k in game})
    cell = lambda m, o: game[(m, o) if side == 0 else (o, m)][side]
    best = [m for m in mine if all(cell(m, o) >= cell(x, o) for o in theirs for x in mine)]
    return best[0] if best else None


def show(label, game):
    eq = equilibria(game)
    better = [k for k in game for e in eq if all(a > b for a, b in zip(game[k], game[e]))]
    print(f"{label}")
    print(f"  Equilibrium: {' / '.join(eq[0])}, worth {game[eq[0]][0]} and {game[eq[0]][1]}")
    print(f"  Best whatever the other does: {dominant(game, 0) or 'nothing'} / {dominant(game, 1) or 'nothing'}")
    if better:
        print(f"  Better for both: {' / '.join(better[0])}, worth {game[better[0]][0]} and {game[better[0]][1]}")
    else:
        print("  Better for both: nothing")


# Made up. Two rival clubs, each holding wages or raising them; profit in £m a season (first club, second club).
wages = {("hold", "hold"): (5, 5), ("hold", "raise"): (1, 8), ("raise", "hold"): (8, 1), ("raise", "raise"): (2, 2)}
# Made up. At 1-0, each side sits back or pushes on; the chance (%) each goes through (West Germany, Austria).
gijon = {("sit", "sit"): (95, 95), ("sit", "push"): (80, 93), ("push", "sit"): (90, 85), ("push", "push"): (75, 88)}
print()
show("Wages", wages)
show("Gijon at 1-0", gijon)
```

It prints:

```text
West Germany v Austria: who goes through
  1-0: West Germany and Austria
  2-0: West Germany and Austria
  2-1: West Germany and Austria
  3-0: West Germany, then Algeria or Austria: level on points and goal difference
  0-0: Austria and Algeria
  0-1: Austria and Algeria

Wages
  Equilibrium: raise / raise, worth 2 and 2
  Best whatever the other does: raise / raise
  Better for both: hold / hold, worth 5 and 5
Gijon at 1-0
  Equilibrium: sit / sit, worth 95 and 95
  Best whatever the other does: sit / nothing
  Better for both: nothing
```

The check for an equilibrium is the same idea as the arrows in the figure: a cell is an equilibrium if neither side's arrow points away from it.

## Further reading

- [Disgrace of Gijón](https://en.wikipedia.org/wiki/Disgrace_of_Gij%C3%B3n), Wikipedia. The match, the reaction and the rule change.
- [1982 FIFA World Cup Group 2](https://en.wikipedia.org/wiki/1982_FIFA_World_Cup_Group_2), Wikipedia. Every result and the final table.
- [UEFA Euro 2004 Group C](https://en.wikipedia.org/wiki/UEFA_Euro_2004_Group_C), Wikipedia. Denmark v Sweden and the three-way tie-break.
- [Prisoner's dilemma](https://en.wikipedia.org/wiki/Prisoner%27s_dilemma), Wikipedia. The original story, and the many versions since.
