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.

Dataset: 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.

Calendar heatmap of US births by month and day of the month, every date its own cell, with Christmas Day the darkest at 43% below the typical day
Mean births per calendar date, 2000–2014. Christmas Day sits 43% below an ordinary day; the 13th runs 3.6% below its neighbors.

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")

Stratum's Add Column sheet with the Friday the 13th formula and its live preview
One formula column defines the treatment group. Fifteen years hold exactly 25 Friday the 13ths.

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 daytp
Welch (unequal variances)5.010.00003
Student (pooled)1.290.20
Two-sample report: Friday the 13th vs every other day, Welch t = 5.01
The backwards answer: Friday the 13th +5.3%, Welch p ≈ 0.00003 — and a Levene row warning that the spreads are 16× apart.

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.

Trend chart of daily US births 2000–2014, colored by weekday, showing a weekday band and a weekend band
5,479 days, partitioned by weekday: two bands, smoothed with a 52-point moving average.
WeekdayMean births / day
Monday11,898
Tuesday13,122
Wednesday12,911
Thursday12,846
Friday12,596
Saturday8,563
Sunday7,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.

Box plot of daily births by weekday with the low outliers labelled by holiday name
Births by weekday. The low outliers label themselves: they are the holidays.

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.

One-way ANOVA of births by weekday in Stratum, F = 5110, eta squared = 0.85, with group means
One-way ANOVA with the group-means table beneath it: F ≈ 5,110, η² = 0.85.

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.
Levene's test, Welch's ANOVA and Games-Howell sections stacked under the one-way ANOVA
Levene rejects equal variances and points to Welch F* and Games–Howell — both stacked under the classical result, both agreeing with it.
Q-Q plots of births, one panel per weekday, with holiday points labelled in the lower tails
Q-Q by weekday: weekends are near-normal; weekday tails bend down — and the bent points are holidays.
Why the checks mattered. Classical, Welch and rank-based procedures make three different sets of assumptions and reach one verdict. With ~780 days per group the classical F was never in real danger — the assumption checks earned their keep by showing what the data is made of: a weekly schedule with holidays riding in its tails.

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.

Calendar heatmap, month by day of the month, each cell the mean percent of births above or below the typical day; holidays appear as dark cells
The calendar, with the weekday effect averaged out: one cell per date, colored by percent versus the typical day.
Datevs the typical dayMean 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 13thOther Fridays
n25757
Mean births11,95012,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]
The same two-sample report filtered to Fridays: Friday the 13th 5.3% below other Fridays
Same report, one filter: −668 births (−5.3%), Welch p ≈ 0.0000065, Cohen's d ≈ −0.68.
Box plot comparing births on Friday the 13th with births on other Fridays
Fridays only: the Friday-the-13th box sits below the rest.

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 week0.85
Friday the 13th vs every other day0.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.

The dataset is free and so is the trial. Download Stratum, load the births file, and try this one: the 13th runs low on Mondays (−3.4%) and Thursdays (−3.6%) too, but barely moves on weekends. Is it the Friday — or the thirteen?

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.

case-study anova welch effect-size assumptions