5,436 films, 1980–2020, with a real budget and a tracked worldwide gross. Horror's raw mean ROI is 75.8x, 33 times the next genre — and one film (Paranormal Activity, $15,000 → $193M) from falling to 25.1x. Fit in log space instead: slope +0.708, 95% CI [+0.481, +0.935] — excludes zero, a 4.2x geometric-mean gap. The median agrees on direction: 2.6x, not 33x.
Backlog #83: “Horror = Hollywood's best ROI? Budget × revenue by
genre — [TWO-POP, median vs mean].” IDEAS.md names TMDB as the source;
TMDB's bulk pull needs a registered API key not present in .env, the same
wall run 534 hit for movie runtimes. Run 534's fix — IMDb's own non-commercial
dataset — has no budget or revenue fields at all, so it can't answer a question
about money. The real substitute here is
danielgrijalva/movie-stats,
a keyless GitHub-hosted CSV (also mirrored on Kaggle, ~900k downloads) built by
scraping IMDb's own advanced title search for every feature film per year that IMDb
has a tracked US box-office figure for, up to 200 titles/year. That scraping rule is a
real selection effect, stated plainly: a film with no tracked theatrical gross —
most true micro-budget horror flops among them — cannot appear in this dataset at
all. What follows is a claim about films that got wide enough release to have a
box-office number on file, not about every horror film made. 5,436 of the
7,668 scraped titles have both a real budget and a real worldwide gross
(spot-checked against known totals: Avatar $2.847B, Titanic $2.202B, Avengers: Endgame
$2.798B — confirming the gross field is worldwide, not
domestic-only); 254 of those are tagged Horror as their main genre.
The raw mean says it isn't close. Pooled across every film with both figures on file, Horror's mean ROI — (gross − budget) / budget — is 75.8x, against 2.3x for every other genre combined: a 33-to-1 gap, dwarfing the runner-up (Animation, 3.0x). It is also almost entirely one film. Paranormal Activity cost $15,000 and grossed $193,355,800 — an individual ROI of 12,889x. Drop it and Horror's mean falls from 75.8x to 25.1x; drop The Blair Witch Project too and it falls again to 8.8x, on 252 of the original 254 films. A statistic that moves two-thirds on the removal of one data point is not a number to publish on its own.
Fit it in log space instead. Regressing log(1+ROI) on a Horror indicator tames exactly the outliers above without discarding them, and turns into a real, testable OLS fit: slope +0.708, 95% CI [+0.481, +0.935], R²=0.011, n=5,436, p<0.001 — excludes zero. Exponentiated back, that's a geometric-mean ROI of 200% for Horror against 48% for everything else — a 4.2x gap. Real, and nowhere near the raw mean's 33x.
The median agrees on direction, not on size. Horror's median film returns 2.05x its budget; every other genre's median film returns 0.79x — a gap of 1.25 points, 2.6x. A 5,000-draw bootstrap on that gap gives 95% CI [+0.75, +1.72] — excludes zero. Three honest ways to ask the same question — raw mean, log-space regression, raw median — return three different magnitudes (33x, 4.2x, 2.6x) and the same direction every time. That spread is the TWO-POP shape the backlog idea predicted, not a contradiction between the three numbers.
Checked against the obvious mechanical objection. Horror budgets are small, and a small denominator inflates any ratio off a modest hit — so does the edge survive holding budget size (and release era, since both production costs and ticket prices have inflated since 1980) fixed? Regressing log(gross) on log(budget), the Horror indicator, and release year: Horror's coefficient is +0.650, 95% CI [+0.436, +0.865], R²=0.452, p<0.001 — excludes zero. In plain terms: holding budget and year fixed, a Horror film grosses 92% more than an equally-budgeted, same-era film in another genre. The edge is not a denominator artifact.
Read plainly. Every spec here agrees Horror outperforms on ROI, and none of them agree by how much — the honest answer is a range, not a single headline number, and whichever one gets repeated as "the" Horror ROI figure should be read with the other two attached. This is a selection-conditioned claim (films with a tracked box-office run, not all films made, per the source note above); IMDb's dataset assigns each film exactly one main genre, so a horror-comedy or horror-thriller hybrid is counted once, under whichever label IMDb picked, not split; and nothing here tests why — a plausible mechanism (horror's low fixed costs let a film reach profitability off a small, built-in audience before any marketing-driven wide release) is not something this run measures.
| Specification | estimate | 95% CI | Verdict |
|---|---|---|---|
| Raw mean ROI, Horror vs. every other genre pooled | +7576% vs +229% | — | ratio 33.1x — see fragility check below, not a stable estimate |
| log(1+ROI) ~ Horror indicator, HC3 robust SE | slope +0.708 | [+0.481, +0.935] | excludes zero, p<0.001 · R²=0.011, n=5,436 |
| log(gross) ~ log(budget) + Horror + year, HC3 robust SE | Horror coef +0.650 | [+0.436, +0.865] | excludes zero, p<0.001 · R²=0.452 · +92% gross, same budget & year |
| Raw median ROI gap, 5,000-draw bootstrap | +1.25 pts | [+0.754, +1.715] | excludes zero · median 2.05x vs 0.79x, ratio 2.6x |
| Title | Year | Budget | Worldwide gross | ROI |
|---|---|---|---|---|
| Paranormal Activity | 2007 | $15,000 | $193,355,800 | 12889.4x |
| The Blair Witch Project | 1999 | $60,000 | $248,639,099 | 4143.0x |
| The Gallows | 2015 | $100,000 | $42,964,410 | 428.6x |
| The Devil Inside | 2012 | $1,000,000 | $101,758,490 | 100.8x |
| The Quiet Ones | 2014 | $200,000 | $17,835,162 | 88.2x |
| Saw | 2004 | $1,200,000 | $103,911,669 | 85.6x |
| Friday the 13th | 1980 | $550,000 | $39,754,601 | 71.3x |
| Insidious | 2010 | $1,500,000 | $99,557,032 | 65.4x |
Method. Source: danielgrijalva/movie-stats
(github.com/danielgrijalva/movie-stats),
a keyless CSV scraped from IMDb's advanced title search
(boxoffice_gross_us=1&title_type=feature&count=200 per release
year, 1980–2020), filtered here to rows with a positive budget AND a positive
gross on file (5,436 of 7,668 scraped rows). ROI = (gross − budget) /
budget, on nominal dollars; because ROI is a ratio, uniform inflation across budget
and gross cancels, though production-cost and ticket-price inflation have not
moved at identical rates across 1980–2020 and this run does not model that
gap. Headline fit: OLS of log(1+ROI) on a Horror/not-Horror indicator, HC3
heteroskedasticity-robust standard errors, because ROI's variance is wildly
unequal between genres (Horror's own std. dev. is 848, against single digits for most
other genres). Robustness fit: OLS of log(gross) on log(budget), the Horror
indicator, and release year centered on its mean, same HC3 SEs. Median-gap
bootstrap: 5,000 resamples, each redrawing both the Horror group and the pooled
rest group with replacement at their own original sizes, differencing the two
medians each draw.
Limits, stated plainly. This is a selection-conditioned sample, not the universe of horror films made: the scraper's own query requires a tracked US box-office figure, which systematically excludes straight-to-video, festival-only, and theatrically unreleased titles — exactly the population most likely to contain genuine flops with no offsetting breakout. The true population ROI, including those excluded films, could be lower than anything reported here; this run cannot bound how much lower. IMDb assigns one main genre per title, so a horror-comedy or horror-adjacent thriller is counted once, under whichever label IMDb's own classifiers picked, not split or double-counted. Six of the 15 genres present (Mystery, Thriller, Sci-Fi, Romance, Family, Western — each under 20 films) are dropped from the genre table below for an unstable small-sample average, though all are retained in the pooled "every other genre" comparison. No causal mechanism is tested; low fixed costs letting a horror film reach profitability off a small built-in audience is a plausible story for why the genre over-performs, not a measured one.
horror_roi_560.csv (name, year, genre, budget, gross — every film with both figures on file) · fit output (JSON).