ANOVA on Real Data: Are Fewer Babies Born on Friday the 13th?
Fifteen years of US births, one backwards answer, and the comparison that fixes it — one-way ANOVA, Levene, Welch, Games–Howell, Kruskal–Wallis and effect sizes on a single real dataset. No code.
us_births — every day from January 2000 to December 2014 (5,479 days, 62.2 million births), from FiveThirtyEight's US births data (Social Security Administration counts, source, CC BY 4.0).
Download the CSV and follow along in Stratum — every figure below is a real screenshot from this file. (Date, weekday, month and holiday labels are decoded from each row's date; birth counts unaltered.)
Are fewer babies born on Friday the 13th? Fifteen years of real American births, every single day, and the first test anyone would run: Friday the 13th against every other day.
It comes back significant — Welch's t = 5.0, p ≈ 0.00003. And it says Friday the 13th has 5% more babies, not fewer: about 11,950 a day against 11,347.
Superstition debunked? No. That answer is exactly backwards, and the reason it's backwards is the most useful thing in the file. Taking it apart is a full tour of one-way ANOVA and its assumptions — Levene, Welch, Games–Howell, Kruskal–Wallis — and of why an effect size, not a p-value, is the number to argue about.
Step 1 — Set up the question
The file has one row per day: the date, the weekday, the month, a holiday label decoded from the calendar, and the birth count. Two pieces of housekeeping. Weekday names sort alphabetically by default, so drag them into calendar order once (Data ▸ Column Definition… ▸ Order) and every chart and report follows. Then one formula column (Data ▸ Add Column…, type Text):
if(and([weekday] == "Friday", [date_of_month] == 13), "Friday the 13th", "Other day")
Step 2 — The obvious test, and two opposite verdicts
Analyze ▸ Two-Sample, births by the new column. Welch (unequal variances, Stratum's default) says Friday the 13th averages +603 births (+5.3%) over every other day, t = 5.01, p = 2.8 × 10⁻⁵. Switch the variances to pooled — the classic Student t — and the same means give t = 1.29, p = 0.20.
| Friday the 13th vs every other day | t | p |
|---|---|---|
| Welch (unequal variances) | 5.01 | 0.00003 |
| Student (pooled) | 1.29 | 0.20 |
The Levene row in the same report says why they disagree: the 25 Friday the 13ths sit between about 11,000 and 13,000, while the other 5,454 days swing from 5,728 to 16,081 — 16 times the variance. With spreads that unequal, pooling is wrong and Welch is right. But both tests answered exactly what was asked. The question was wrong: "every other day" is not a fair comparison group.
Step 3 — The weekly rhythm
Plot every day over fifteen years, colored by weekday, and it isn't one cloud — it's two bands: weekdays around 12,000–13,000 births a day, Saturday and Sunday around 8,000. A moving average shows the slow story too (a peak in 2007, a slide after the recession), but next to the weekly story it's small.
| Weekday | Mean births / day |
|---|---|
| Monday | 11,898 |
| Tuesday | 13,122 |
| Wednesday | 12,911 |
| Thursday | 12,846 |
| Friday | 12,596 |
| Saturday | 8,563 |
| Sunday | 7,518 |
43% fewer babies are born on a Sunday than on a Tuesday. Biology doesn't take weekends off; hospitals do. Scheduled C-sections and inductions are booked on weekdays, and the schedule shows up directly in the counts.
Now the outliers. A box plot by weekday, with the chart's labels set to the holiday column on outliers only, names almost every low point: Christmas Day, Thanksgiving, Memorial Day, Labor Day, Independence Day, New Year's Day. 134 of the 142 low outliers are named days.
So "every other day" was dragged down by weekends and holidays — and no Friday the 13th in this file is either. Of course it looked high.
Step 4 — One-way ANOVA: η² = 0.85
Analyze ▸ ANOVA ▸ One-Way ANOVA, births by weekday: F = 5,110 on (6, 5,472) df, p ≈ 0, and η² = 0.85. Which day of the week it is explains 85% of the day-to-day variation in births. Tick Tukey HSD in the report's Sections and 20 of the 21 pairs differ — even Tuesday vs Wednesday, 212 births apart. Only Wednesday vs Thursday (65 apart, p = 0.79) doesn't.
Step 5 — The assumptions, checked properly
A classical F and Tukey both assume one shared variance and roughly normal groups. This data visibly breaks both — so check, and see whether the conclusion survives.
- Levene's test (Brown–Forsythe, median-centred, on by default): W = 43.2, p ≈ 10⁻⁵¹. Standard deviations run from 400 (Sunday) to 1,174 (Thursday) — close to 9× the variance. The Indicates column reads the result and points to Welch F* · Games–Howell; it's advice, and the classical table stays put.
- Welch's ANOVA, stacked as its own section beneath: F* = 10,541 on (6, 2,377) df. Games–Howell: the same 20 of 21 pairs, Wednesday–Thursday still tied.
- Normality. A Q-Q plot per weekday: weekends hug the line; every weekday bends down in its lower tail (skewness −1.5 to −2.6). Label the points by holiday and the bent tail is the holidays again.
- Kruskal–Wallis (the Robust Procedure checkbox): H = 3,710, η² on the ranks = 0.68.
Step 6 — The holiday calendar
One more formula column first: each day as a percent above or below the typical day, using the formula engine's column aggregate (name it vs_typical):
100 * ([births] / mean([births]) - 1)
Then Charts ▸ Relationship ▸ Heatmap/HexBin: X Column month, Y Column date_of_month, both X Bins / Y Bins = Each Value (one cell per calendar date, all 12 × 31), Value vs_typical, Statistic Mean. Each cell is that date's average over fifteen years, read directly as a percent. Every date lands on every weekday about twice in that span, so averaging by date cancels the weekly rhythm and leaves the calendar.
| Date | vs the typical day | Mean births |
|---|---|---|
| Christmas Day | −43% | 6,438 |
| New Year's Day | −32% | 7,735 |
| Christmas Eve | −29% | 8,034 |
| Independence Day | −22% | 8,815 |
| 2 January | −15% | 9,606 |
| Halloween | −10% | 10,263 |
| New Year's Eve | −7% | 10,549 |
| 12 September (highest) | +12% | 12,735 |
The typical day is the 11,350-birth daily mean; only the four big holidays fall more than 20% below it. Thanksgiving shows as a smear across late November because it floats between the 22nd and the 28th, and New Year's Eve gets its own cell in the 31st row, 7% down beside a 30th that runs 5% above typical. Along the 13th row runs a cool stripe: in 10 of the 12 months the 13th sits below both of its neighbors, and over the year it averages 11,111 births, 3.6% below the 12th and the 14th. Something about the date itself moves births.
Step 7 — The honest comparison: Fridays vs Fridays
Hold the two big effects still by comparing like with like. Organize ▸ Filter: weekday equals Friday. The same two-sample report from Step 2 recomputes on the 782 Fridays — and the sign flips.
| Friday the 13th | Other Fridays | |
|---|---|---|
| n | 25 | 757 |
| Mean births | 11,950 | 12,618 |
| Difference | −668 (−5.3%), 95% CI [−916, −419] | |
| Welch t / p | −5.49 / 6.5 × 10⁻⁶ | |
| Cohen's d [95% CI] | −0.68 [−1.08, −0.28] | |
With like compared to like, Levene no longer objects (p = 0.11), and Welch and pooled agree. Among Fridays, d = −0.68 is a solid, medium-to-large effect. The superstition is real — and the likeliest mechanism is the same one behind the weekends: scheduled deliveries get moved off the date. It holds however you cut it:
- Drop holiday Fridays (the day after Thanksgiving is always one): −6.3% (d = −1.14).
- Compare only with Fridays the 6th and 20th, as FiveThirtyEight did: −6.4%.
- Match each Friday the 13th to the other Fridays of its own month: all 25 of 25 come in lower.
- The independent CDC file for 1994–2003: −4.8% (16 Friday the 13ths, p = 0.001).
Step 8 — Now put it in proportion
About 668 fewer births on each of 25 Fridays is roughly 16,700 babies over fifteen years — 0.03% of all births in the file. The Sunday-vs-Tuesday gap is 8.4× larger, and it happens every week.
| Across all 5,479 days | η² |
|---|---|
| Day of the week | 0.85 |
| Friday the 13th vs every other day | 0.0003 |
Both effects are real. Only one of them runs the delivery ward. That's what effect sizes are for: a p-value says an effect exists; η² and Cohen's d say whether it matters.
What we actually did
A two-sample test that gave the wrong answer for the right statistical reasons; a trend chart and box plot that exposed the weekly rhythm; a one-way ANOVA (η² = 0.85) with Tukey; Levene, Welch's ANOVA, Games–Howell, a Q-Q check and Kruskal–Wallis, all agreeing; a calendar heatmap that put Christmas 43% below an ordinary day; and one filter that turned "+5%" into the honest −5.3%. Real data, no code, Mac and Windows.
The lesson isn't about superstition. The comparison group is the analysis.
Data: FiveThirtyEight, US births 2000–2014 (Social Security Administration), CC BY 4.0. The hosted copy adds date, weekday, month-name and holiday labels decoded from each row's date; birth counts are unaltered.