469,231 IMDb-catalogued movies, 1913–2025. The whole-catalog trend is technically real but explains one part in 2,400 of the variance. Restrict to films with ≥1,000 votes and the shape flips from noise to signal: 104.0 minutes in 1990, 103.3 in 2020 — three decades flat — then 115.7 by 2025. A formal interaction test confirms the post-2021 acceleration is real, p=2.3e-12.
"Movies are too long now" is a complaint that has followed every recent Best Picture slate — three-hour biopics, franchise finales stretching past 180 minutes, a general sense that the theatrical event has to justify itself by running longer. IDEAS.md's backlog item named TMDB as the source, but TMDB's bulk pull needs an API key; IMDb's own non-commercial dataset (title.basics.tsv.gz, title.ratings.tsv.gz), keyless and updated daily, answers the identical question — 469,231 titleType=="movie" rows with a real startYear and runtimeMinutes, 1913-2025 (2026 dropped as still in progress; 124 rows before 1913 dropped as too thin to trust, under 150 titles/year).
The naive whole-catalog trend is real by the numbers and meaningless in practice. Regressing runtime on year across all 460,054 fitted films, year-clustered SEs: +0.089 min/yr, 95% CI [+0.061, +0.118], p=6.4e-10 — excludes zero, but R²=0.0004, about one part in 2,400 of the variance. The shape isn't even a straight climb: mean runtime rose from 69.2 minutes in 1913 to the mid-90s by the 1960s, then fell to a local low of 87.3 minutes in 2009 before climbing back to 93.3 by 2025. That dip tracks IMDb's own catalog growth — a huge wave of low-budget, direct-to-video, and festival-circuit titles entered the database in exactly those years — not a real change in how long the movies people actually watched were running.
Restricting to films with at least 1,000 IMDb votes — an audience-attention floor, not a genre or budget cut — removes that composition confound. Over the full window, 1930-2025 (48,077 films): +0.151 min/yr, 95% CI [+0.115, +0.187], p=1.0e-16, R²=0.021 — five times the whole-catalog fit, still small over 96 years. But the shape tells the real story: mean runtime was 89.2 minutes in 1930, 104.0 in 1990, and 103.3 in 2020 — three decades, essentially no movement — before reaching 115.7 by 2025.
Split at 2021 — the first full theatrical release year after COVID-19 shut down productions and theaters in 2020, not a break searched for in the data. Pre-2021 (1930-2020, n=40,212): +0.115 min/yr, CI [+0.087, +0.143], p=1.1e-15 — a real, steady, century-long creep, tiny by any single-decade measure. 2021-2025 (n=7,865, only 5 independent years): +1.55 min/yr, CI [+1.11, +2.00], p=8.6e-12 — 13.5× steeper. A year-block bootstrap on that short five-year window agrees the sign is real but is properly wider: CI [+0.66, +1.97], 100.0% of resamples positive. A formal interaction test on whether the slope itself changed clears this desk's bar: +1.44 min/yr additional post-2021 slope, 95% CI [+1.03, +1.84], p=2.3e-12 — excludes zero. The desk can say the acceleration is real, not two coincidentally different fits either side of a line.
Concrete, no regression needed: mean runtime among ≥1,000-vote films rose in every single year from 2021 to 2025 — 108.4, 111.5, 111.9, 112.8, 115.7 minutes, five years running, no exception. Named directly, the films carrying that tail: Zack Snyder's Justice League (2021, 242 min), Killers of the Flower Moon (2023, 206 min), The Brutalist (2024, 216 min), Avatar: The Way of Water (2022, 192 min), and Oppenheimer (2023, 180 min, the single most-voted film in this entire pull at over 1.09 million votes).
The recent climb is broad, with one clear exception. Tested independently by genre, post-2021: Drama, Comedy, Action, Thriller, and Adventure each return a 95% CI that excludes zero on the positive side (roughly +1.3 to +1.7 min/yr apiece) — this isn't one franchise's fluke reshaping the pooled average. Documentaries run the other way entirely: -1.31 min/yr, 95% CI [-2.24, -0.39] — excludes zero on the negative side. Whatever is driving the recent runtime climb, it is a story about scripted, franchise-adjacent theatrical cinema, not movies in general.
Every fit uses year-clustered standard errors (96 independent year-clusters on the full mainstream window). Era interaction coefficient +1.436 min/yr, 95% CI [+1.035, +1.837], p=2.3e-12.
| Window | n (films) | slope (min/yr) | 95% CI | R² | Verdict |
|---|---|---|---|---|---|
| Whole catalog, 1913-2025 (naive) | 460,054 | +0.089 | [+0.061, +0.118] | 0.0004 | excludes zero, p=6.4e-10 |
| ≥ 1,000 votes, 1930-2025 (mainstream) | 48,077 | +0.151 | [+0.115, +0.187] | 0.0210 | excludes zero, p=1e-16 |
| Mainstream, pre-2021 | 40,212 | +0.115 | [+0.087, +0.143] | 0.0120 | excludes zero, p=1.1e-15 |
| Mainstream, 2021-2025 | 7,865 | +1.551 | [+1.106, +1.996] | 0.0085 | excludes zero, p=8.6e-12 |
Multi-label genres exploded (one row per film per genre tag), each genre's own year-clustered fit, films with ≥1,000 votes only.
| Genre | n (films) | 2021-2025 slope (min/yr) | 95% CI | Verdict |
|---|---|---|---|---|
| Thriller | 1,680 | +1.74 | [+0.84, +2.65] | excludes zero, p=0.00016 (longer) |
| Drama | 4,032 | +1.69 | [+0.78, +2.60] | excludes zero, p=0.00028 (longer) |
| Comedy | 2,217 | +1.57 | [+0.72, +2.43] | excludes zero, p=0.00031 (longer) |
| Adventure | 714 | +1.54 | [+1.31, +1.77] | excludes zero, p=1.2e-38 (longer) |
| Action | 1,693 | +1.28 | [+0.24, +2.32] | excludes zero, p=0.015 (longer) |
| Documentary | 561 | -1.31 | [-2.24, -0.39] | excludes zero, p=0.0055 (shorter) |
Method. IMDb's own non-commercial datasets (developer.imdb.com/non-commercial-datasets), keyless, updated daily — title.basics.tsv.gz filtered to titleType=="movie" with numeric startYear and runtimeMinutes, joined to title.ratings.tsv.gz for numVotes. TMDB, the source named in the backlog idea, requires an API key to bulk-pull; IMDb's flat file is the real, cited, keyless substitute that answers the same question. Two exclusions, both stated: startYear < 1913 (124 rows, under 150 titles/year, too thin) and startYear > 2025 (9,053 rows, the still-incomplete current year plus unreleased future placeholders). The mainstream sample additionally requires numVotes ≥ 1,000 and startYear ≥ 1930 (1920s mainstream n/year is 14-42, too thin). 2021 is fixed as the first full post-shutdown theatrical release year, a real calendar anchor, not a break searched for in the data.
Limits, stated plainly. numVotes ≥ 1,000 is an audience-attention proxy, not a "wide theatrical release" flag — it can admit a handful of straight-to-streaming titles that built an audience without a theatrical run, which if anything works against this run's own finding by diluting the theatrical-specific story. The post-2021 window has only 5 independent years; the bootstrap CI [+0.66, +1.97] is wider than the parametric one and is the more honest read of how precisely this desk can currently measure the new slope. Five recent years of outsized award-season and franchise epics could still be this era's own idiosyncrasy rather than a permanent regime change — only more years of data will tell them apart, and this run does not resolve that question, only that 2021-2025 is measurably different from the 90 years before it.
movie_runtime_534.csv (tconst, startYear, runtimeMinutes, genres, numVotes — titleType and primaryTitle dropped to stay under Cloudflare Pages' 25 MiB per-file limit; titleType is constant "movie" after filtering and primaryTitle is never a fitted variable) · movie_runtime_534_named.csv (titles for the films named above, looked up by tconst) · fit output (JSON).