Adaptive scoring

Score Distribution
00s10s20s30s40s50s60s70s80s90s1101120213031404150516061707180819091100509505487498496479539513520454000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000lowhigh5,000 games · scores 1–99 are uniform

A basketball player takes 100 free throws. She scores on her first throw and misses her second. From throw 3 onward, her probability of scoring equals the fraction of throws she's made so far.

For example, after 40 throws with 23 made, the probability of scoring on throw 41 is 23/4023/40. Step through the first 20 throws to see how the probability adapts — notice how a hot streak raises your next-throw probability, creating a self-reinforcing loop:

Score Distribution
00s10s20s30s40s50s60s70s80s90s110112021303140415051606170718081909110010511591101102911041089786000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000lowhigh1,000 games · scores 1–99 are uniform
Throw by Throw
Throw 1: score ✓, Throw 2: miss ✗. From throw 3, P(score) = made/thrown.
12
00.51throw number
What do you think?
After 100 throws, what is P(exactly 50 baskets)?

Run the simulation and check the distribution. It looks flat — every score from 1 to 99 is equally likely.

Basketball Free Throws

Starting small

Don't let the number 100 intimidate. Start with the smallest case and look for a pattern.

After n=3n = 3 throws (first throw: score, second throw: miss):

The third throw has probability 1/21/2 of scoring (1 make in 2 throws).

Outcome of throw 3Baskets after 3P
Score21/2
Miss11/2

So P3,1=1/2P_{3,1} = 1/2 and P3,2=1/2P_{3,2} = 1/2. Both equally likely! And 1/2=1/(n1)1/2 = 1/(n-1) with n=3n = 3.

After n=4n = 4 throws:

Computing P(4, k) for each k
P4,1=P(miss(3,1))×P3,1=23×12=13P_{4,1} = P(\text{miss} \mid (3,1)) \times P_{3,1} = \frac{2}{3} \times \frac{1}{2} = \frac{1}{3}
To have 1 basket after 4 throws: we needed 1 basket after 3 (probability 1/2), then missed throw 4 (probability 1 - 1/3 = 2/3).
Step 1 of 4

After 4 throws: P4,1=P4,2=P4,3=1/3P_{4,1} = P_{4,2} = P_{4,3} = 1/3. The pattern holds!

Uniform Distribution Pattern
33.3%
k=1
33.3%
k=2
33.3%
k=3

After 4 throws: P(4, k) = 1/3 for all k = 1, 2, ..., 3

Each possible basket count is equally likely!

Slide the slider to see: for every nn, the distribution Pn,k=1/(n1)P_{n,k} = 1/(n-1) is perfectly flat. This is not coincidence — it's provable by induction.

The induction proof

Uniform Score Distribution

After nn throws (with the first a score and second a miss, and adaptive probability from throw 3 onward), the number of baskets kk satisfies Pn,k=1n1P_{n,k} = \frac{1}{n-1} for each k=1,2,,n1k = 1, 2, \ldots, n-1.

Base case: n=3n = 3 gives P3,1=P3,2=1/2=1/(31)P_{3,1} = P_{3,2} = 1/2 = 1/(3-1). ✓

Inductive step: Assume Pn,k=1/(n1)P_{n,k} = 1/(n-1) for all kk. We need to show Pn+1,k=1/nP_{n+1,k} = 1/n.

Induction Step
Pn+1,k=P(miss(n,k))Pn,k+P(score(n,k1))Pn,k1P_{n+1,k} = P(\text{miss} \mid (n,k)) \cdot P_{n,k} + P(\text{score} \mid (n,k-1)) \cdot P_{n,k-1}
Law of total probability: either we had k baskets after n throws and missed, or we had k-1 baskets and scored.
Step 1 of 5

The cancellation makes it work. The "miss" term contributes 1k/n1 - k/n and the "score" term contributes (k1)/n(k-1)/n. Together they sum to (n1)/n(n-1)/n, which is independent of kk. This uniformity is maintained at every step.

So Pn+1,k=1/nP_{n+1,k} = 1/n for all valid kk, completing the induction. For n=100n = 100:

P100,50=199P_{100,50} = \frac{1}{99}

What do you think?
Does this mean each score from 0 to 100 is equally likely?

Why is this surprising?

The adaptive probability creates a self-reinforcing process. When the player is doing well (high scoring rate), she's more likely to keep scoring. When she's doing poorly, she's more likely to keep missing. This is a Polya urn process — it's like adding a red ball to an urn every time you draw red, and a blue ball every time you draw blue. Watch multiple games unfold simultaneously:

Many Games at Once
Each path shows baskets scored over 50 throws. Watch how they spread out.
012.52537.550throw number (1–50)

Intuitively, you'd expect this reinforcement to create extreme outcomes — lots of games with very high or very low scores. And indeed, each individual score is just 1/99 ≈ 1%. But the remarkable fact is that no score is more likely than any other. The reinforcement doesn't create peaks; it creates perfect uniformity.

Pólya Urn Model

Start with rr red and bb blue balls. Draw a ball, note its color, return it along with one new ball of the same color. This is equivalent to the basketball scoring process (with r=1r = 1 "score" and b=1b = 1 "miss" initially). The limiting fraction of red balls is uniformly distributed on [0,1][0,1].

Competition appearances

This problem appears in quant interviews (Two Sigma, DE Shaw), in Putnam competition problems about sequences with adaptive probabilities, in Pólya urn theory as a foundational example of stochastic processes, and in machine learning where the Chinese Restaurant Process and Dirichlet-Multinomial models are generalizations.

Don't be intimidated by large numbers. Start with the smallest case, compute, look for a pattern, and prove it by induction. The number 100 was a red herring.

After 10 throws (score first, miss second), P(exactly 5 baskets)? (decimal like 0.11)
1/4

The takeaway

Two techniques drive the solution: start small and find patterns before tackling the full problem, then use induction to confirm the pattern. The uniformity comes from a perfect cancellation in the law of total probability. In competitions, when the problem gives you a large number (100, 1000, etc.), it's almost always a hint to solve the small case first.