The Dunning-Kruger effect is traditionally described as a psychological phenomenon: people with low ability supposedly lack the metacognitive skill to recognize their incompetence ("the dual burden of incompetence"). This simulator shows that the classic DK pattern emerges naturally from three purely statistical mechanisms—no psychology required.
1. Regression to the mean (measurement noise)
Each participant has a true ability. Both their measured performance and their self-assessment are noisy estimates of that ability with independent errors. When you sort people by measured performance, the lowest quartile is inflated with people whose noise was negative on the test. Their self-assessment—which has independent noise—regresses toward their (higher) true ability, producing apparent overestimation. The same logic, mirrored, makes top performers look like they underestimate.
2. Boundary constraints (floor/ceiling effects)
Scores cannot go below 0 or above 100. At the bottom, errors can only push self-assessments upward; at the top, only downward. This guarantees an asymmetry that mimics the DK pattern even before any psychology enters the picture.
3. Better-Than-Average Effect (BTAE)
Most people rate themselves slightly above average regardless of ability. This is a near-universal bias, not a property of the incompetent. Adding a constant upward shift to everyone's self-assessment lifts the entire red line above the blue line—the gap then varies by quartile due to the boundary effects above.
The diagnostic test
If DK were a real psychological asymmetry (low performers being uniquely bad at self-assessment), we would expect the variance of self-assessment errors to be much larger in Q1 than in Q4—heteroscedasticity. The error-by-quartile table shows the variance stays roughly flat: the data are homoscedastic. The pattern is in the means, not the spread, which is the signature of a statistical artifact.
Further reading: Nuhfer et al. (2017), Gignac & Zajenkowski (2020), and Krajc & Ortmann (2008) all show that the DK curve is reproduced by random data plus the mechanisms above.