COLA draft-lottery testbed: three questions in a full basketball simulation

2026-07-19 · Highley & Rajan, SSAC27 working results

Every year some National Basketball Association (NBA) teams lose on purpose, because a worse record buys better lottery odds at the next draft. Banchio and Munro proved the dilemma is structural: any lottery that reads this season's records and favors worse teams must reward losing. Carry-Over Lottery Allocation (COLA) changes what the lottery reads. Draft priority comes from a team's drought, the number of seasons it has spent out of contention, so one extra loss this season no longer moves the needle.

This page reports how COLA designs behave inside ZenGM Basketball GM, a complete basketball simulation (every game played out, generated rosters and contracts, AI general managers), and it ends with a playground where you can run the lotteries yourself.

The three questions

Any draft reform has to answer three questions at once. The first two are exactly the pair the impossibility result says single-season records cannot deliver together.

For scale, a first-overall pick is worth about 2-3 more wins than a thirtieth pick at its peak. Real but modest, which is why the tests score draft picks, where the mechanism acts, rather than championships.

Mechanisms

Classic
COLA as originally proposed. The top four picks are raffled with odds proportional to drought; picks 5-14 then follow this season's record, worst team first, exactly like today's NBA.
Gamma family
Every pick raffled by drought raised to a power gamma. Gamma = 0 makes every team equal, gamma = 1 makes odds proportional to drought, and higher values concentrate odds on the longest droughts.
Waitlist COLA
Classic with one change: picks 5-14 follow drought order instead of record order, so the whole board works like a season-ticket waitlist (wait longer, pick earlier). The four-pick raffle fans already know stays.

Results at two pool sizes

E is the number of teams eligible for the lottery. E = 14 is the 14 teams that missed the playoffs, the NBA's actual lottery pool and COLA's canonical choice. E = 22 adds the eight first-round losers, the pool our first sweep standardized on. All runs are n = 48 independent leagues × 15 seasons per mechanism; brackets are 95% confidence intervals (CIs). Cells we have not measured say "not measured".

How to read a cell. Take Classic's +1.94 [1.71, 2.17] in the tanking column. Rank the lottery teams by this season's record; across the 48 simulated leagues, the worst-record team drafts on average 1.94 picks earlier than the fifth-worst team. Finishing dead last buys about two extra picks, and that is the tanking reward. The bracket is where the true gap sits with 95% confidence, so when it contains zero the design pays nothing for losing. The help column at E = 14 is a rate instead of a gap. Classic's −0.930 ± 0.036 means one extra year of drought moves a team about one pick earlier, give or take the wobble across leagues. At E = 22 the help number is a gap again, computed like the tanking gap but with teams ranked by drought instead of record.

The NBA's actual lottery pool; includes Waitlist COLA.

Questions 1 and 2 at E = 14
Mechanism Q1: tanking gap want about 0 Q2: help slope, picks per drought-year want clearly negative
Classic+1.94[1.71, 2.17]−0.930 ± 0.036
Gamma = 0 (flat)+0.02[−0.39, 0.42]−0.003 ± 0.015
Gamma = 1+0.15[−0.32, 0.63]−0.572 ± 0.014
Gamma = 2+0.28[−0.15, 0.71]−0.948 ± 0.017
Gamma = 3−0.16[−0.62, 0.31]−1.175 ± 0.015
Waitlist COLA−0.07[−0.46, 0.32]−0.989 ± 0.019
NBA today+1.17[0.96, 1.39]−0.029 ± 0.016
3-2-1, top-four draw*+1.71[1.52, 1.91]−0.067 ± 0.021
3-2-1, full-16 draw*−1.15[−1.60, −0.71]−0.032 ± 0.018
Countdownnot run at E = 14not run at E = 14
Beckettnot run at E = 14not run at E = 14

* The NBA row runs on the same 14-team pool as the COLA rows. The 3-2-1 rows draw over the proposal's own 16-team pool (per conference, the bottom eight by record); the two rows bracket the proposal's unspecified draw depth, an NBA-style top-four draw versus the full pool drawn by tiered balls.

Question 3 at E = 14 is not yet measured for Waitlist COLA. Its top-four raffle is mechanically identical to gamma = 1's, so the pick-1 ceiling is expected to carry; the deterministic tail is pending its own measurement.

Verdict

At the NBA's actual pool size, one design answers the first two questions at once. Waitlist COLA holds the tanking gap at zero (−0.07, against Classic's +1.94) and helps long-drought teams as strongly as Classic does (−0.99 vs −0.93 picks per drought-year, statistically indistinguishable), while keeping the four-pick lottery fans already know. Gamma = 1 also stops tanking but helps less sharply here (−0.57). Measured in the same engine, today's NBA lottery pays +1.17 picks for finishing worst and directs no help by drought, and the 3-2-1 proposal either pays more (+1.71 with an NBA-style top-four draw, because its record-ordered tail dominates the punished bottom tier) or flips to a penalty (−1.15 with a full-pool draw). Only the drought-based designs deliver drought-directed help, and only Waitlist COLA does so while holding the tanking test at zero. The open item is question 3 for Waitlist COLA, which we are measuring next.

Pairwise contrasts
Contrast Test Welch t Effect
Classic minus gamma = 1tanking6.83Cohen's d = 1.39
Classic minus Waitlist COLAtanking8.96d = 1.83
Gamma = 1 minus Waitlist COLAtanking0.72indistinguishable
Waitlist COLA vs gamma = 1help slopeabout 18clearly separated

t is the Welch two-sample statistic; Cohen's d is the standardized mean difference.

Lottery playground

Run the lotteries yourself. One scenario goes in, and all three designs come out side by side, so comparing them is the default view. Team 1 has the worst current record and Team 14 the best in the pool. Pick a scenario or set each team's drought with the sliders, and the page reruns 20,000 lotteries under each design.

We mean this as a pressure test. Try to break Waitlist COLA: find a scenario where a losing streak buys picks (its buys number moves off zero) or where help stops reaching the long droughts (its help slope drifts toward zero). The NBA and Classic columns are the controls. Anything you find sharpens the paper before a reviewer finds it first.

The scoreboard mirrors questions 1 and 2 for each design. The first number is the tanking test run live. The page drops Team 5 (the fifth-worst record) to the worst record and reports how many picks that losing streak buys under each design, on paired draws, so a design that never reads the record shows an exact zero. The help slope is the ordinary least squares (OLS) slope of expected pick on drought years across the 14 teams (want clearly negative). One reading note for the charts: the worst-record team can still draft early under Waitlist COLA when it also owns a long drought. That is the help channel at work, not a reward for losing; the buys number is the test of what losing itself earns.

The "NBA today" column uses the real lottery's published pick-1 ball counts, simulated for a single season. The full-engine run for the NBA lottery has landed in the E = 14 table above; the engine measures today's lottery at about 1.2 picks of tanking reward.

Droughts deliberately disagree with the record order, so the three designs visibly differ.

Drought years per team (Team 1 = worst current record, Team 14 = best in the pool)

NBA today
One losing streak buys (want 0 picks)
 
Help slope (want clearly negative)
 
Classic COLA
One losing streak buys (want 0 picks)
 
Help slope (want clearly negative)
 
Waitlist COLA
One losing streak buys (want 0 picks)
 
Help slope (want clearly negative)
 
Expected pick by team under each design Bar height is the expected pick (a shorter bar is an earlier pick); bar color is the team's drought.
Drought years 0-1 2-4 5-7 8-10 11-12
NBA today Top four raffled by record odds; picks 5-14 by record.
Classic COLA Top four raffled by drought; picks 5-14 by record.
Waitlist COLA Top four raffled by drought; picks 5-14 by drought.

The horizontal axis is the team, 1 (worst current record) through 14 (best in the pool); the vertical axis is the expected pick. Each change reruns 20,000 draws per design, so expected picks wiggle by about ±0.03 between runs. Hover or focus a column for that team's expected pick and pick-1 probability under that design.

What does one more losing streak buy?

Pick a team and drop it to the worst record in the league. Droughts do not move, and every other team keeps its relative order; only the record ranking shifts. Each design then reports how many picks that move buys.

The scoreboard and charts above keep showing the league as it stands; these cards hold the counterfactual. The rerun replays the same random draws, so a design that ignores the move shows an exact zero.

Table view: per-team results
Team Drought (years) NBA today Classic COLA Waitlist COLA
Expected pick P(pick 1) Expected pick P(pick 1) Expected pick P(pick 1)
Draw semantics
  • NBA today: the real post-2019 NBA lottery. Teams are ranked by current record (Team 1 = worst), and the pick-1 ball counts by record rank are 140, 140, 140, 125, 105, 90, 75, 60, 45, 30, 20, 15, 10, 5 out of 1,000. Picks 1-4 are drawn sequentially without replacement, each pick proportional to the remaining teams' ball counts; picks 5-14 go to the remaining teams in record order, worst first. Drought plays no role.
  • Classic COLA: picks 1-4 are drawn sequentially without replacement with probability proportional to each team's drought years; picks 5-14 go to the remaining teams in record order, worst first.
  • Waitlist COLA: picks 1-4 exactly as Classic; picks 5-14 go to the remaining teams in drought order, longest drought first, ties broken at random. Record has no channel into the board, ties included.
  • If every remaining drought weight is zero, the draw is uniform among the remaining teams.
  • Each change reruns 20,000 simulated lotteries per design, doubled while the tanking experiment is on so both record orderings are simulated.