D = import(new URL("./engine/dashboard.mjs", window.location.href).href)
UI = import(new URL("./panel.mjs", window.location.href).href)
Plot = import("https://cdn.jsdelivr.net/npm/@observablehq/plot@0.6.17/+esm")
rep = fetch(new URL("./data/replication.json", window.location.href).href).then(r => { if (!r.ok) throw new Error(`couldn't load the replication results (${r.status})`); return r.json(); })
tipEl = UI.tipEl
chartW = Math.max(300, Math.min(900, width))
narrow = chartW < 600
fundName = k => D.FUND_BY_KEY[k].shortHow close is the reconstruction?
Our rebuild of RP’s GCR fund model against RP’s published numbers, window by window, with Monte Carlo error
Help improve this draftComment with Hypothes.is; flag @daaronr for a response.
Select any text, chart or number and annotate it with Hypothes.is (the tab at the top right) to flag errors, missing sources, or a clearer way to show something. David plans to respond, especially where a comment mentions @daaronr. Public Hypothes.is annotations can be read by anyone who opens this page, so don't post anything confidential.
How this was made: an AI agent (Claude, working for The Unjournal) rebuilt Rethink Priorities' GCR fund model from RP's public write-up, update log and Donor Compass data, and built these pages. David Reinstein set the task. Neither he nor RP has checked the numbers yet, and RP hasn't seen this page.
In short. At RP’s stated values, the reconstruction lands within about 5% of RP’s published life-years per $1M in every window up to 500 years, for all three funds, and 12-18% low in the 500+ window, which RP’s own datasets move around by far more than that. The ranking of the funds matches RP’s in every window except where RP’s bio and nuclear numbers are within a few percent of each other. We had to infer or assume several things RP’s write-up doesn’t state; they are listed at the bottom.
Ours versus RP’s, window by window
Each dot is our value divided by RP’s: 1 means an exact match. The shaded band is within 10%. The bars show how far our value moves across ten further runs of a million draws each (Monte Carlo noise).
Monte Carlo error
- Up to 500 years, our numbers are steady: two standard errors are about 0.3% of the value at 10 million draws, and the ten runs of a million draws agree to within 1-4%. So the 2-6% gap to RP in the 10-500 year windows is mostly a real difference between our rebuild and RP’s model, not noise.
- The 500+ window is noisy for everyone. Its average rests on a few hundred draws in which humanity settles the stars and long-run risk is very low. Our runs of a million draws spread over about ±7% even with the lower-noise estimate. RP’s own 500+ values moved by 3 to 4 times between its May and June 2026 datasets, and RP says it can’t separate the effect of its June fix from resampling noise.
- On the model page the default is 100,000 draws, so expect roughly ±15-25% in the 500+ window and about ±3% in each window up to 500 years; “Run more draws” narrows it.
Other checks
What doesn’t match
- Every window from 10 to 500 years is 2-6% low, getting worse with time, and the 500+ window is 12-18% low. We couldn’t remove this with the risk-curve shapes we tried without making the early windows too high. It is probably a detail of RP’s risk curve or value curve that the write-up doesn’t give.
- The 99.9th percentile of the value of the future is 1.7 × 10²⁹ in ours and 2 × 10²⁸ in RP’s table, while the mean and every other percentile match. Our extreme tail has more draws in which the Milky Way is fully settled and long-run risk is very low. None of the variants we tried moves it. Either RP’s tail is thinner at that point, or the table is from a different run.
- The AI fund’s non-existential value is 5% high, and its 0-5 year window 4% high.
- The growth rate’s mean is 1.17% in ours; RP states 1%. No two-parameter distribution we tried gives a 1% mean with RP’s 0.6% to 2% range. It barely matters.
What we inferred and what we assumed
“Inferred” means RP’s published numbers point to it. “Assumed” means we chose it, sometimes by fitting RP’s numbers, and it could be wrong. On the model page, controls carry the same tags.
| What | What RP says | What we did | Status |
|---|---|---|---|
| How uncertain inputs are spread | A mean and a 90% range for each | Probabilities: a beta distribution through the mean and range. Positive quantities: a lognormal through the range. Means then match RP’s to within 2-3% | Assumed; checks well |
| Shares of risk by cause | AI 90%, bio 3%, nuclear 3%, other 4%, with ranges | Drawn together, from a Dirichlet(9, 0.3, 0.3, 0.4); it reproduces all eight of RP’s percentiles | Inferred, strong |
| No effect / raises risk / lowers risk | Means and ranges for the first two | Drawn together, from a Dirichlet with concentration 5; it matches RP’s AI-to-bio ratio and RP’s negative percentiles | Inferred, strong |
| Long-run risk and settlement speed | Mean and range | Log-uniform through RP’s range. A lognormal through the same range gives the wrong mean and an unstable average | Inferred |
| When effects start and how long they last | Means and ranges | Lognormal; matches RP’s non-existential window shares to within 0.002 | Inferred, strong |
| The three funds’ random draws | Not stated | Shared: the same world and the same luck for each fund. RP’s bio and nuclear non-existential totals agree to five digits | Inferred |
| Shape of the risk curve | Peaks within decades, stays high about 90 years | A straight rise from 80% of the peak’s extra risk to the peak, then a straight fall to the long-run level, fitted to RP’s numbers | Assumed, fitted |
| How a fund’s cut applies | “relative reductions in their cause’s peak risk levels during the time of perils” | A share of the cause’s risk in each year while the effect lasts | Assumed, fitted |
| When a fund backfires | Not stated | The same size of effect, with the opposite sign | Assumed; matches RP’s percentiles |
| Value of settling the stars | Each star worth Earth at carrying capacity (June 2026 fix); Milky Way and Virgo densities | Tarsney’s (2020) cubic growth model as written | Assumed (from Tarsney) |
| Smaller catastrophes | Chances in the next 10 years, for three sizes | A constant yearly chance for 100 years; deaths in the middle of each size range (on a log scale); 25.6 life-years per death, fitted | Assumed, one number fitted |
| Time | Not stated | Continuous; the choice changes results by well under 1% after the first five years | Assumed |
Details, and the sources, are in the Technical notes.