Statistical tests

Do the categories inside one family — the spell types, the damage types, the horde creatures, the factions, the loot axes — actually differ in how often they appear per seed? This page answers that with a one-way ANOVA across a family and Welch t-tests between individual categories, computed over all seeds.

Read the effect size, not the p-value. Every group here holds ~2.1 billion seeds. At that size the standard error is vanishingly small, so any real difference — however tiny — comes out “statistically significant” (p ≈ 0). The p-value stops being a useful yardstick. What matters is how big the difference is relative to the seed-to-seed spread: that is the effect size (Cohen’s d for a pair, η² / ω² for the family), and it leads every result below.

Comparisons are only meaningful within a family (spell types vs spell types, factions vs factions) because those share a unit — “count per seed.” The page never compares across families, where the scales are unrelated.

Mean prevalence per category

Each bar is the mean count per seed; the whisker spans ±1 standard deviation. Sorted by mean. This is the raw picture the ANOVA summarizes.

Pairwise effect size (Cohen’s d)

Every category against every other. The fill is Cohen’s d — the difference in mean prevalence measured in pooled standard deviations, so a big cell means the two categories are genuinely far apart relative to their spread, not merely “significantly” apart. Row minus column: warm = row has more, cool = column has more.

Every statistic is a full census over seeds — no sampling. Group summaries come from each category's exact population histogram (mean and standard deviation baked in maxStats.json). Effect sizes: Cohen's d — 0.2 small, 0.5 medium, 0.8 large; ω²/η² — 0.01 small, 0.06 medium, 0.14 large (Cohen 1988).

```js
import * as Plot from "npm:@observablehq/plot";