thefixture.com.au

How it works

Five steps, one fixture.

A season fixture is too big to work out in one go. So we build it in five steps. Each step settles one set of decisions, proves it has done the best it can, and hands the result to the next step, which treats those decisions as fixed. Each step is checked afterwards by a separate program that reads the finished fixture back.


An everyday picture

Think of planning a big family reunion: first you decide who is coming (opponents), then which weekend each branch visits (rounds), then the exact day (dates), then whose house hosts and where everyone sleeps (home ground and venue), and finally what time dinner is (TV slot). You cannot pick dinner time before you know whose house it is.

Step 1

Opponents · who plays twice

Every club plays every other club once. Step 1 picks the six opponents each club plays a second time.

What it decides
For each club, which six of its seventeen opponents it meets twice. That is 54 double-upA pair of clubs that meet twice in the season. Each club has six.Read more in the glossary pairs across the competition.
What it must respect
  • The weighted ruleThe AFL's way of sharing out double-ups by ladder position, so strong clubs mostly play strong clubs twice.Read more in the glossary: clubs are split into three groups of six by last season's ladder, and double-ups are shared out by group.
  • The four derbies are always double-ups.
  • Last season's Grand Final pair (Fremantle and Brisbane Lions for 2027) always meet twice.
  • Any pairs the season settings ban (none for 2027).
What it aims for
A fair draw. Among the allowed choices it prefers that no club plays more than three sides from its own ladder group twice, even though four is allowed.
An everyday analogy
Like seeding a tournament: the top sides mostly play each other again, the bottom sides mostly play each other again, and the local rivals always get their return bout.

The ladder used for the groups is the completed 2026 ladder reordered by finals results, so the premier is first. The 18 September release tried two strengths of the fair-draw preferenceSomething the solver tries to do and weighs against other preferences. Release notes call it a soft rule or objective.Read more in the glossary and kept the stronger one.

Step 2

Rounds · which round

Step 2 puts each of the 207 games into one of 24 rounds, and places the byeA round in which a club does not play.Read more in the glossary and the fixed occasions.

What it decides
The round of every game, and the bye round of every club (one each, in Rounds 12 to 16).
What it must respect
  • Fixed occasions stay in their round: Anzac Day and Anzac Eve in Round 6, Gather RoundThe round in which every game is played in one host city. Every club appears once.Read more in the glossary in Round 4, King's Birthday and King's Birthday Eve in Round 13, and the Port Adelaide and Fremantle tribute games in the Anzac roundThe round containing Anzac Day. In the 2027 model it is Round 6.Read more in the glossary.
  • A pair's two games are at least six rounds apart, and the second is never before Round 13.
  • A pair that meets only once is never left to the final round.
  • Bye rounds keep at least seven games, and no club plays twice in a round.
What it aims for
Tidy rounds: byes spread evenly across the bye windowThe stretch of rounds in which byes fall: Rounds 12 to 16 in the 2027 model.Read more in the glossary, bye rounds as full as the rules allow, and return games pushed further apart than the minimum.
An everyday analogy
Like filling a wall calendar with the big birthdays and public holidays pinned first, then fitting everything else around them.

Rounds are placed before dates, so this step knows the order of games but not the exact days. Early versions kept every return game at least twelve rounds after the first, twice the minimum.

Step 3

Dates · which day

Step 3 gives each game a date inside its round, keeps every player's rest break legal, and decides which games get Thursday and Friday nights.

What it decides
The calendar date of every game, and therefore which games are dated Thursday and Friday.
What it must respect
  • The players' rest rules: six days between games, at most three five-day breaks a club, extra rest beside each short breakA five-day gap between games. Each club may have at most three a season.Read more in the glossary, a fresh opponent, and no short break after a Perth trip.
  • Per-club caps: at most seven Thursdays, eight Fridays, thirteen of the two combined, and no more than three Thursdays in any third of the season.
  • Every club plays at least six Saturdays and between three and twelve Sundays, and each club's weekday counts stay inside its own recent range.
  • No two big Victorian games on the same day, because both would need the MCG.
What it aims for
prime timeThursday and Friday nights, the biggest television slots.Read more in the glossary for the most appealing games, with the weakest round lifted first so the season does not fade.
An everyday analogy
Like a coach spacing training sessions: everyone needs recovery days, nobody can do three hard days in a row, and the headline session goes where the most people can turn up.

Grounds are not chosen yet, so this step cannot know whether a break involves a flight. It applies the travel-sensitive rest rules as if every possible interstate tripA game played outside the club's home state. Gather Round and games the club hosts interstate do not count.Read more in the glossary will happen, which is the safe reading. The per-club prime-time caps were added after an earlier version gave Adelaide 21 or 22 Thursday nightThe week's first game. The 2027 model has 24 of them, plus one Wednesday night on the 17 March calendar.Read more in the glossary.

Step 4

Home ground and venue · who hosts, and where

Step 4 picks the home club for each game and the ground it is played at.

What it decides
Which club is the home side in every game, and which ground hosts it. Every club ends with eleven home games, eleven away games and one Gather Round game.
What it must respect
  • Stadium contracts: at least 45 games at the MCG and 40 at Docklands; every club visits the MCG; the Victorian clubs' home-ground splits stay close to real life.
  • sold gameA home game a club plays at a second ground under a deal, such as Hawthorn in Launceston or Gold Coast in Darwin.Read more in the glossary: Hawthorn in Launceston, Gold Coast in Darwin, Melbourne in Alice Springs, the Bulldogs in Ballarat, Richmond in Hobart, the Giants in Canberra, North Melbourne in WA, Geelong's ten games at Kardinia Park.
  • Travel: the Perth clubs never travel in consecutive rounds, nobody travels three rounds running, every club visits WA and plays five games in Victoria.
  • Big Victorian games at the MCG; night games only in Darwin; day games only at unlit groundA ground without floodlights good enough for television. Day games only.Read more in the glossary; one game per ground per day; no ground on a date it is known to be booked.
What it aims for
Travel shared fairly between clubs, and no long runs of home or away games.
An everyday analogy
Like allocating the family's holiday houses: some bookings are already paid for, nobody should drive three weekends in a row, and the biggest gatherings go to the biggest house.

Most of what decides a ground is a contract, not a preference. The first preview gave Geelong no Kardinia Park games at all; the ten-game rule fixed that on 14 September. venue availabilityWhether a ground is free on a date. We know some booked dates; no ground has confirmed any free date.Read more in the glossary is still unknown: a ground is treated as free unless it is captured as booked.

Step 5

TV slot · which slot

Step 5 gives each game a slot bandThe game's place in the week, the way commentators say it: "Friday night", "Saturday twilight", "Sunday day". A weekday plus a time band (day, twilight or night).Read more in the glossary (a weekday and a day, twilightThe late-afternoon time band, between the day and night games.Read more in the glossary or night band) and works out which games are shown live on free-to-airTelevision anyone can watch without a subscription.Read more in the glossary television.

What it decides
The slot band of every game, and a modelled free-to-air allocation: which games are on free TV nationally, which are pay-TV only, and in which states a local game is shown.
What it must respect
  • The TV deal: at least 81 free-to-air games, three live free-to-air games a round on average, early Thursday nights and the marquee gameA fixed occasion inked in before anything else: Anzac Day, Anzac Eve, Dreamtime, Good Friday, Easter Monday, King's Birthday and King's Birthday Eve.Read more in the glossary on free TV, every game live on pay TV.
  • The pay-TV-only Saturday windowThe early-season period when Saturday games are pay-TV only: through Round 8 nationally, Round 10 in Queensland and NSW, all season in Victoria.Read more in the glossary and the rounds from which each state's local games return to live free TV.
  • same-state clubsTwo clubs from one state: the Adelaide, Perth, Sydney and Queensland pairs.Read more in the glossary never in overlapping slots; one game per ground per day; night games only in Darwin.
What it aims for
First the largest audience the audience modelA model fitted to published television ratings that predicts a free-to-air audience for each slot choice. Its numbers are not published here.Read more in the glossary predicts for free-to-air; then, giving up at most a small declared share of that audience, the most appealing games in the best slots.
An everyday analogy
Like a TV programmer filling a week's schedule: the contract says what must air and when, and within that you put the shows people most want to watch where most people are watching.

The audience predictions are in model units, not viewers anyone measured, and are not published on this site. Games the model cannot score (most often South Australian and Western Australian games) are pinned to a reference slot and never optimised; their audience is unknown, never zero. Slot bands are not kickoff timeSecond-level detail under the slot band: a typical start time we assumed for that slot, marked modelled. It is not a scheduled time.Read more in the glossary; no kickoff time is recorded for any game. Early versions carried slot bands as a legal arrangement only, with no preference about which game went where.

After the five steps · Operator refinement

A human tweak, then a re-run

A generated fixture is a starting point. A person can pin a game's date or ground, with a reason, and have the model rebuild everything around the pin.

  1. Step 1: OpponentsOpponentsWho plays twice
  2. Step 2: RoundsRoundsWhich round
  3. Step 3: DatesDatesWhich day
  4. Step 4: Home ground and venueVenueWho hosts, and where
  5. Step 5: TV slotTV slotWhich slot

Afterwards: A human tweak, then a re-run. pin a game → re-run → new version → see what changed

Pinning a game sends the model back to the first step the pin affects; every step after it is rebuilt.
  1. pin a game

    The operator pins a field of a game to a value, with a reason and a source.

  2. re-run

    The model re-runs every step from the first one the lock affects, with the lock added as a must-follow ruleA rule the fixture must never break. Release notes call it a hard rule or hard constraint.Read more in the glossary.

  3. new version

    The result is a new version with its own fingerprintA unique code computed from a version's contents. Change one byte and the fingerprint changes.Read more in the glossary and a lineageThe chain of parents a version came from.Read more in the glossary naming its parent. The parent is unchanged.

  4. see what changed

    A recorded comparison of child and parent: moved, added, removed, unchanged, with each affected club's breaks and trips.

What it decides
A new child versionA version made from a parent by an operator edit. The parent stays unchanged.Read more in the glossary of the fixture, with the pinned fields exactly as asked and everything after it rebuilt under the same rules.
What it must respect
  • Every lock: a locked field may not move.
  • Every rule the parent obeyed. A lock that makes a rule impossible is reported, not quietly dropped.
  • The parent version is never changed. The child has its own fingerprint and a lineage naming its parent.
What it aims for
The same things as the stageOne of five steps that build the fixture: opponents, rounds, dates, home ground and venue, TV slot.Read more in the glossary it re-runs, with the locks added. It is not an edit in place: unchanged games are unchanged because the rules held them, not because they were skipped.
An everyday analogy
Like telling a travel agent "we must fly out on the 13th" and getting a fresh itinerary back: most of it looks the same, one or two connections move, and you get a list of exactly what changed and why.

An operator writes a lock packThe short list of locks an operator writes for one edit.Read more in the glossary, a short list of locks that each pin one field of one game (a date, a ground) to a value, with a reason and a source. The pack is checked for conflicts, then the model rebuilds the fixture from the earliest step the locks touch, regenerating everything downstream with the same rules plus the locks. The result is a new child version. A diffThe recorded comparison of two versions, game by game: moved, added, removed, unchanged.Read more in the glossary report then compares child with parent, game by game: what was asked, what moved, which clubs were affected and how their rest breaks changed, and which rule verdictAn independent checker's result for one rule on one version: met, not met, switched off, or doesn't apply.Read more in the glossary changed. The diff says which games moved; it does not guess why the solver chose them, so the site does not either.

Why you can trust a step

Proving each step

For Steps 1 to 4 the solverThe program that searches for a fixture satisfying every rule and, among those, the best for the stage's objective.Read more in the glossary must prove that no better answer exists within that step's rules, or the release refuses to ship. A step that stopped because its clock ran out might give a different answer next time, and a fixture that cannot be reproduced cannot be audited. Step 5 reports its status and how close to proven it got. Every step's result is recorded in the release.

Every step depends on the one before it. Dates are set before grounds are chosen, so the rest rules that depend on travel are applied as if every possible interstate trip will happen. "proven bestThe solver showed no better answer exists for that stage, given everything decided before it. Release notes say "optimal".Read more in the glossary" means best for that step, given everything already decided above it. It never means the best possible season overall.

After the solve, independent checkers read the finished fixture back and test it against every rule. The current version, B012 Wednesday opening, carries 81 rules in force. Explore the rules or read what the model aims for.

How this compares with the AFL's process

The AFL has shown publicly that its scheduler works through wall matrices, break checks and rule lists, using an optimiser to do the heavy lifting. This model follows the same broad flow, in five steps. It is an unofficial reconstruction, not the league's own system. Read how the AFL builds it in the journey, or step through a walkthrough of the model.

Spot something wrong or unclear in these explanations? Flag an issue

↑↓ to move · ↵ to open · esc to close · / or ⌘K opens this from any page