~/writing/fairer-world-cup-schedule.mdcase study
← writing

Can a World Cup schedule be fairer without making anyone worse off?

Before the knockout rounds, every team plays three group-stage matches. The cities assigned to those games determine how far each team travels. I rebuilt FIFA’s schedule from public data and asked how much fairer it could be without sending the burden somewhere else.

Same tournament, two very different journeys
Longest itineraryBosnia and Herzegovina5,058 km
TORLAXSEA

TOR → LAX → SEA

Shortest itineraryEgypt391 km
SEAVAN

SEA → VAN → SEA

Each line connects the stadiums a team visits for its three group games. I use straight-line distance so every schedule is measured in the same way. It is a planning proxy, not a literal flight itinerary.

The schedule looked reasonable until I followed each team.

The official schedule keeps many matches within the same region, so the average looks reasonable. Team by team, the picture changes. Bosnia and Herzegovina crosses the continent, while Egypt stays in the Pacific Northwest. A random draw determined their opponents. The schedule determined their cities.

That separation made the problem useful. I was not trying to change who played whom. I wanted to know how much travel could be removed from the worst itinerary without making anyone else travel farther.

The real choice was what FIFA would be allowed to change.

An optimization model searches through many valid schedules and picks the one that best meets a goal. Before that search could begin, I had to decide what FIFA would actually be willing to move. I tested two versions. The first keeps every match date and kickoff time fixed, then changes only the stadium. The second can move a match to another venue, date, and time that FIFA had already published.

Two models, each with a different promise
1Acalendar fixed
may change

the stadium assigned to a match

must preserve

match dates and times, host rules, stadium workload

proven result

10.2% lower worst itinerary, 29.6% lower total, no team worse off

1Bslots may move
may change

the venue, date, and time assigned to a match

must preserve

tournament round, simultaneous final games, host rules, and rest

proven result

17.5% lower worst itinerary, 33.2% lower total, no team worse off

A “slot” is one venue, date, and kickoff time. The recommendation changes depending on whether those slots are fixed or can be reassigned. All percentages compare with FIFA’s published schedule.
how travel is countedteam travel = venue 1→2 + venue 2→3

A team’s travel comes from the journey between consecutive venues. It is not the sum of three isolated match assignments.

how the goal is ordered1. reduce the worst trip → 2. reduce total travel

First find the lowest possible ceiling for the worst-traveling team. Hold that ceiling in place, then minimize total travel.

public datacheck the rulessearch schedulescalculate again independently

I used Gurobi, software built to search large optimization problems, to find candidate schedules. Then I rebuilt each result outside Gurobi and calculated every travel total again with the same code used for FIFA’s schedule.

There is no single best schedule. The recommendation depends on the rules.

With kickoff times fixed, Model 1A reduces the worst itinerary from 5,058 km to 4,544 km. If FIFA can move the venue, date, and kickoff time together, Model 1B reaches 4,174 km and lowers total travel from 98,814 km to 65,986 km. Both are proven optimal. Under each set of rules, the solver established that no better schedule exists. Neither solution makes any team travel farther.

What happens when FIFA is allowed to move more of the schedule?
VancouverSeattleSan FranciscoLos AngelesGuadalajaraMexico CityMonterreyHoustonDallasKansas CityAtlantaMiamiTorontoBostonPhiladelphiaNew YorkKANLAXDAL

This version brings the worst itinerary to 4,174 km (-17.5%) and total travel to 65,986 km (-33.2%). No team travels farther than it does in FIFA’s schedule.

To make the change concrete, the map follows Algeria across its three host cities. The sentence above reports the result across all 48 teams. The gray line is Algeria’s route in FIFA’s schedule. The solver proved that no better schedule exists under these rules.
Keep the “no team worse off” guardrail. Use Model 1A when kickoff times are fixed. Use Model 1B when FIFA can move fixtures among its published venue, date, and time combinations.
Ten match moves capture most of the available protection
Worst-team travel by allowed match movesThe curve drops quickly through ten moves and then flattens. Proven points are solid. The 24-move point is time-limited.3,5004,0004,5005,0000 moves: 5,058 km, proven05 moves: 4,544 km, proven510 moves: 3,528 km, proven1015 moves: 3,357 km, proven1520 moves: 3,357 km, proven2024 moves: 3,357 km, time-limited24*ten movesabout 90% of the best proven reductionproven optimumtime-limitedworst-team travel (km)

allowed match moves

Most of the improvement arrives early. The ten-move schedule is a useful compromise, but it makes nine teams travel farther and should be read that way. The asterisk marks a time-limited result: the solver found a valid schedule but ran out of time before proving it was the best one.

The mistakes changed the answer.

Several early ideas did not survive scrutiny. I kept the corrections in the project log because they explain why the final models look the way they do.

The first model allowed a move that could not happen in real life

I had allowed a match to move to another stadium while keeping its original kickoff time. That could create a stadium and time pairing FIFA never published, so I split the work into two models with consistent rules.

My first fairness score was measuring each schedule differently

Each schedule was being judged against its own scale. That was like measuring one route in miles and another in kilometres. I replaced those moving scales with fixed physical units before comparing results.

A two-metre disagreement was small enough to ignore and important enough not to

My independent calculation differed from the model by 0.002 km. The number was tiny, but tracing it led me to tighten the solver settings and treat the external calculation as the final authority.

sometimes the useful answer is no

96 hours of rest+no team travels farther=infeasible

These two requirements cannot both be met. In optimization, “infeasible” does not mean the software failed. It means the model proved that no schedule can satisfy all of the rules at once. I then relaxed the travel guardrail and asked how much extra travel might be unavoidable. That follow-up found a valid schedule but could not prove how close it was to the best possible one, so the honest answer is a range: more than 0 km and no more than 420 km.

Travel is not the only measure of fairness.

I also tracked the Competitive Neutrality Index, or CNI. It compares what each team brings into a match, including recent travel, rest, altitude changes, and eastward time-zone shifts. Model 1B improves travel but raises the average CNI from 1.812 to 2.119. I did not ask the model to optimize this score, so I treat the change as a warning to report rather than proof that one schedule is fair in every sense.

What I learned

The hardest parts were not the lines of Gurobi code. They were deciding which changes were legitimate, defining what “fairer” should protect, and knowing when a result had earned a strong claim.

The model starts with permission, not algebra.

Models 1A and 1B lead to different recommendations because they give FIFA different permissions. A precise boundary was more useful than a stronger solution to the wrong question.

Fairness needs a promise.

A lower maximum or total is not automatically fair. Either can move the burden to someone else. The “no team worse off” rule turned fairness from a slogan into a condition I could check.

Verification belongs inside the method.

The most useful errors appeared when I recalculated results outside the solver. Independent scoring, retained failed runs, and careful proof labels changed how much confidence I placed in the answer.

I started with a scheduling problem. I finished with a better understanding of how to make quantitative recommendations that people can inspect, challenge, and defend.

← back to writing(END)