Secret Santa · 210,000,000 simulated games

Secret Santa with 16 people: what is the chance someone draws their own name?

16 people each draw one name from a hat, with no redraws. How often does at least one person get their own name?

63.212%exactly 26,718,637,649 in 42,268,262,400
simulated: 63.2125% ± 0.0065% (95%), 132,746,173 of 210,000,000 games

In a Secret Santa with 16 people and no redraws, the chance that someone draws their own name is 63.212%. Worked out exactly and confirmed by 210,000,000 simulated games that you can replay on this page.

What the computer did

Games
210,000,000 (2,000 chunks of 10,000 to 200,000, in 2 segments)
Compute
0.10 CPU-hours; 0.01 hours on arm64, 16 cores, Darwin 25.5.0
Engines
JavaScriptCore (jsc), Python 3.14.8; every segment is spot-checked by replaying chunks in the other language
Ran
2026-10-31T14:46:19Z to 2026-10-31T16:39:30Z
Seed
602326568 (from this page's address); chunk k uses xoshiro128** seeded by splitmix32(seed ⊕ k·0x9E3779B1)
Exact method
derangement count: D(n)/n! is the chance nobody draws themselves
Code
sims/rng.py sha256 b81126f5f114cdf1…
sims/kinds/selfdraw.py sha256 d0ab9d3be0a3430b…
site_src/sims.js sha256 5cd91ae0e3f8246e…
Earlier segments: see the segment list below.
All 2 segments of this run
#ChunksChunk sizeGamesEngineFinishedCode (sha256)
11,000–1,999200,000200,000,000JavaScriptCore (jsc)2026-10-31b81126f5 d0ab9d3b 5cd91ae0
00–99910,00010,000,000Python2026-10-31b81126f5 d0ab9d3b 5cd91ae0

Three checks your browser runs

·

The totals add up. Adding up every published chunk…

·

It agrees with the exact answer. Your browser is working out the exact answer by a separate method…

3

The chunks are real. Pick chunks below and your browser replays them from the published seed. Each must match to the last game.

Replay any chunk

The run is split into 2,000 chunks of 10,000 to 200,000 games. Each chunk has its own random stream, built from the seed and the chunk number, so any one of them can be replayed alone. Your browser picks which ones at random, so the run could not have been prepared for your choice.

replayed by youreplayed by other readersnot replayed yet

No chunks replayed yet. Each cell above is a chunk; replayed ones turn solid.

What your replays rule out

Suppose someone had made up a share of the chunks instead of running them. These are the chances your replays so far would have landed on at least one made-up chunk.

–if half the chunks were made up
–if 1 in 10 were
–if 1 in 100 were

Breakdown against the exact answer

OutcomeSimulatedExactOff by (std. errors)
At least one person draws their own name63.2125%63.2121%+0.12
Two or more people draw their own name26.4229%26.4241%-0.40

Independent simulations by local models

Each model below was given only the rules of this family of questions, in plain English, and asked to write its own simulation. It never saw our code. Its program was run in a sandbox on two test cases and compared with the exact answers.

See the code each model wrote

What a match proves, and what it doesn't

Related questions