About this project
An independent simulator of how a US draft would actually run.
Public argument about the draft runs on about five numbers, none of which anyone checks. The most-cited of them — that America could deliver its first inductees 193 days after mobilisation — turns out to be 13 days plus a six-month assumption written into a memorandum in 1994 and never revisited. The agency that would have to execute it has twice put a different figure on the record, most recently about 660 days in a wargame it ran on itself in January 2026, in which it also wrote down that it does not know what its own bottleneck is.
This project exists to answer that question properly: to build the pipeline as a model, put a documented source behind every number in it, and let anyone move the inputs and see what happens. It is not advocacy. We have no position on whether there should be a draft.
How the simulation is built
- A daily-timestep discrete-event model of all six mobilisation functions — registration, selection, notification, delivery to a processing station, classification, and alternative service. Fourteen stages, eight terminal states. Queues, service times and resource contention are first-class objects: a cohort denied a station-day today is still waiting tomorrow, and does not get a second draw against its service-time distribution.
- A parameter ledger, not a spreadsheet. Every input is a distribution with machine-readable provenance: source documents, the derivation, the year it describes, a reliability grade, and explicit applicability notes. There are no numeric literals in the stage logic at all — every quantity is a ledger identifier, and an automated test enforces it.
- The model refuses to run on a missing parameter. Delete one ledger entry and the run exits with an error naming the identifier, having written nothing. There is no silent-default code path to fall back on, because an unsourced number that quietly appears in a readiness model is exactly the failure this design exists to prevent.
- Two layers of uncertainty, kept separable. Parameter uncertainty (we do not know the value) and process noise (the world is random) run on independent random streams and can be frozen independently. That is how you show someone which part of an uncertainty band is ignorance and which part is chance.
- Conservation is checked, not assumed. People are never created or destroyed. Every run reports the maximum conservation error across every replication, and it must be exactly zero.
- Reproducible by construction. A run records the ledger's SHA-256 hash, the scenario, the seed, and the exact command to reproduce it. Results do not depend on how many CPU cores you have: an eight-worker run and a single-worker run produce byte-identical output, and there is a test for it.
- Historical drafts as backtests. The only real American drafts that ever ran are the validation set. Monthly inductions from November 1948 to June 1974 are digitised, the 1969–76 lottery order-of-call tables are day-level complete, and two independent federal induction series reconcile within ±2% for 19 of 23 years — which is how we know the historical record is solid enough to score a model against. The scores, and the failures, are below.
Uncertainty-honest, out loud
The rules below are not aspirations; they are enforced by the code and by the build scripts that produce this website.
- No invented parameters. A ledger entry either has sources or it is graded ASSUMPTION with an empty source list. The loader rejects any entry claiming a better grade without sources.
- Simulation output is watermarked while the ledger is mostly unsourced. The simulator carries a preliminary stamp and prints its own grade census. We would rather label a placeholder loudly than let it be quoted.
- Facts are gated on a traceable citation. The dataset is assembled by a script that rejects any row whose citation does not resolve to a file in the document archive. A plausible-looking source is not a source.
- Contested numbers stay contested. Where two official figures disagree — the 1991 reserve recall show rate, Russian mobilisation totals, Ukrainian absence caseloads — both are published and the distribution is widened. Nothing is silently resolved in favour of the more interesting number.
- Foreign cases carry transfer caveats. A compliance rate measured under a wartime criminal mandate is not an American peacetime rate. They bound a plausible range; they are not evidence about the United States.
- Fifty-year-old rates are priors, not gospel. Vietnam-era behavioural parameters are used with wide uncertainty. That is what the Monte Carlo layer is for.
- Gaps are published as findings. Where the record is silent — no claim rate, no appeal rate, no per-station examination capacity, no total-volume requirement — the dataset says so, in a row, with the coverage document that establishes the silence.
The backtests, including the ones we failed
A simulation nobody has scored is an opinion with axes. The only real American drafts that ever ran are the validation set, so the model was run against three documented episodes and the errors published — nine runs, 864 replications, conservation error at or below one-millionth of a person in every one. Nothing was tuned to fit: every era parameter comes from a document independent of the series it is scored against, and each override records its own citation and the value it replaced.
1. The actual Vietnam draft, 1966–71 — volume passes, timing fails
Over six years the model produced 1,525,028 inductions against 1,456,389 actually inducted — +4.7%, which is inside the disagreement that the Department of Defense's own monthly roll-up has with Selective Service's annual totals for the same years. It reproduced Selective Service's own delivered-to-inducted yield at 0.757 against 0.784, −3.4%, with every parameter in that chain sourced independently of the target.
And it fails on timing. Monthly weighted absolute error is 36.2% and the pipeline delivers about 1.9 months late. That failure is informative rather than embarrassing: the model's front-end latency is a mobilisation-standup quantity, while history's monthly call was a delivery requirement against a machine that was already running. The same distinction as the two clocks, showing up as a phase lag.
2. The 1980 registration reinstatement — level passes, curve fails completely
At the close of the two-week registration window the model gave 85.7% against a documented 87% — −1.6%, uncalibrated. Then it falls apart. The simulated compliance curve crosses 100% of the eligible cohort on day 15 and reaches 5,007% by the end of the run. Mean absolute error on the four post-window truth points is 2,262 percentage points.
The diagnosis is structural, not parametric, and we can prove it: calibrating the coverage parameter directly to the truth series buys 1.4 points at one point on the curve and makes the rest marginally worse. The real cause is that the model's registration function is a constant arrival rate with no eligible-population stock and no time-phased schedule, so a closed cohort cannot be exhausted and a registration surge cannot be expressed at all. That is now the top item on the engine work list, and it is the honest reason the simulator's compliance-regime control moves notice deliverability and pool size rather than pretending to model a registration ramp.
3. Selective Service's own plan of record — passes, then quantifies the problem
Run under the government's own planning assumptions, the model hits all three published milestones within six days: first inductee day 199 against 193, 100,000 inductees day 216 against 210, 36,000 medical personnel day 229 against 223. The six days are fully accounted for — exactly one day per stage traversed, an artefact of the rule that no cohort crosses two stages in a single day. Known sign, known size, published as a residual rather than declared a match.
Then the same timetable with corpus-sourced parameters instead of assumptions: the 100,000-inductee milestone moves from day 216 to day 291, an 81-day slip, while the first-inductee date does not move at all. The entire divergence is throughput, none of it is schedule, and it localises to one parameter — examination capacity. The full table and what it means →
Why we publish the failures. Two of the three backtests above contain a real, unflattering result, and one of them exposes a structural limitation in our own model. Both are in this page and in the report because a validation section that contains only successes is not a validation section. If a number here is going to be used to argue about national policy, the reader is owed the error bars and the list of things the model cannot yet do.
What this project is not
- Not a prediction that a draft will happen. Nothing here forecasts a draft, and nothing here should be read as implying one is planned. There is no active draft, no induction authority, and no published requirement for one.
- Not advocacy. We take no position on conscription policy, on whether women should register, or on whether Selective Service should exist. Several of our findings are inconvenient for each side of those arguments.
- Not a legal service. Nothing here is legal advice. We deliberately do not describe the eligibility tests or evidentiary standards for conscientious-objector or hardship claims, because the regulations governing them are not in our archive and we do not paraphrase law we have not read.
- Not a lookup service for your record. We cannot tell you whether you are registered, and we do not want the data that would let us.
Ethics and independence
Independent. This project is not affiliated with, endorsed by, funded by, or speaking for the Selective Service System, the Department of Defense, the Department of War, or any other government agency. All source material is public: the statute, the Code of Federal Regulations, published agency reports and budget justifications, Government Accountability Office products, and documents released under the Freedom of Information Act.
No personal data. This site collects nothing. There are no analytics, no cookies, no tracking pixels, no third-party scripts, no embedded fonts and no external requests of any kind — every asset is served from this domain, which you can verify in your browser's network tab. The birth-year tool on the "will I be drafted" page computes entirely in your browser; the value you type is never transmitted, stored or logged, and there is no server here that could receive it.
No draft is active. We put that in a banner on every page for a reason. Search traffic for "will I be drafted" spikes with every international crisis, and the market for that attention is full of people willing to frighten you for it. This site is designed to be the opposite: whatever headline sent you here, the first thing you should find is the calm, sourced answer.
Corrections. If something here is wrong, we want to know, and the correction gets published on the page it affects with the date it was made. Several figures on this site are corrections to claims that circulate widely — including one to our own document archive's summary of its own data.
Work with us
The engine behind this website is a general-purpose mobilisation simulation with a provenance-first parameter ledger. It is licensable, and we are open to teaming. If you found this site while researching the July 2026 Readiness Simulation solicitation, start with our plain-language reading of RFQ 90MC0026Q0005. Specifically, we are interested in hearing from:
- Prime contractors and integrators bidding readiness-simulation, manpower or mobilisation work who need a modelling core with defensible provenance and a demonstration that already runs in public.
- Government offices and legislative staff who want a specific scenario run, a parameter audited, or a briefing on what the public record does and does not establish.
- Journalists and researchers. We will run scenarios on request, explain exactly which parameters drive a result, and say plainly when a question cannot be answered from the public record. The two-clocks analysis is written to be cited, and the underlying dataset is open.
- Anyone holding documents we do not have. The highest-value missing items are named on the analysis page: the Agency-wide "Sequence of Actions and Timing" enclosure behind the 660-day figure, the Integrated Master Mobilization Schedule, the enumerated 44 readiness actions, and USMEPCOM's per-station maximum daily capacity allocation.
Contact: contact@draftclock.org
Licensing, teaming, press, scenario requests and corrections all go to the same address. Please put the word "correction" in the subject line if that is what it is — those get handled first.
Technical notes for the sceptical reader
- The simulator is precomputed, and says so. A build script generates one scenario file per grid cell, invokes the engine once per cell, reads the engine's own CSV outputs, verifies that every cell ran against the same ledger by comparing hashes, and emits a single data file. The controls select a precomputed cell; they never interpolate between cells and never invent a value.
- Both clocks are computed separately, on purpose. Pipeline latency comes out of the simulation. Organisation standup is arithmetic over published figures. They are displayed side by side and never added together, because conflating them is the standard analytical error in this subject.
- Every control's transform is published. On the simulator page, each control shows the scenario field or parameter identifier it maps to, the formula where there is one, and the assumptions inside it — including where we have chosen a generous assumption that makes the system look better than the evidence suggests, and said so.
- This site has no build step. It is static HTML, one stylesheet, and a few hundred lines of vanilla JavaScript with no dependencies. The charts are inline SVG drawn by our own code. It will still work in ten years.
Working title, pending a final name. If you are reading this at a domain that does not match the name in the header, that is why.