Blanks and stray text are ignored. Everything runs in your browser — nothing is uploaded.
How this works — the formulas used
Descriptives. Mean x̄ = Σx / n; sample SD s = √(Σ(x − x̄)² / (n − 1)); SEM = s / √n. Quartiles use linear interpolation between order statistics (the same method as spreadsheets and NumPy's default).
One-sample t. t = (x̄ − μ₀) / (s / √n), df = n − 1. Cohen's d = (x̄ − μ₀) / s.
Two-sample t. Welch (default): t = (x̄₁ − x̄₂) / √(s₁²/n₁ + s₂²/n₂) with Welch–Satterthwaite df = (s₁²/n₁ + s₂²/n₂)² / [ (s₁²/n₁)²/(n₁−1) + (s₂²/n₂)²/(n₂−1) ]. Pooled: sₚ² = [(n₁−1)s₁² + (n₂−1)s₂²] / (n₁+n₂−2), t = (x̄₁ − x̄₂) / (sₚ√(1/n₁ + 1/n₂)), df = n₁+n₂−2. Cohen's d always uses the pooled SD.
Paired t. A one-sample t on the pairwise differences against 0; d = mean difference / SD of differences.
t p-values. Two-tailed p = Ix(df/2, 1/2) with x = df/(df + t²), where I is the regularized incomplete beta function, computed with a Lentz continued fraction and a Lanczos log-gamma. One-tailed p is half of that, assuming the effect is in the hypothesised direction. Critical t values (for CIs) are found by numerically inverting this CDF with bisection.
Chi-square. Expected count E = (row total × column total) / N; χ² = Σ(O − E)²/E; df = (rows−1)(cols−1); p = Q(df/2, χ²/2), the regularized upper incomplete gamma function (series + continued fraction). Yates' correction (optional, 2×2 only) uses (|O − E| − 0.5)²/E. Effect size: φ = √(χ²/N) for 2×2, Cramér's V = √(χ² / (N × min(r−1, c−1))) otherwise.
Correlation & regression. Pearson r = Sxy / √(SxxSyy); significance via t = r√((n−2)/(1−r²)) with df = n−2. Spearman ρ ranks both variables (average ranks for ties) and applies the same machinery. OLS: slope b = Sxy/Sxx, intercept a = ȳ − b·x̄, R² = r².
Proportions. One-proportion z test: z = (p̂ − p₀) / √(p₀(1−p₀)/n), p-value from the normal CDF (computed via the incomplete gamma erfc). 95% CI uses the Wilson score interval: (p̂ + z²/2n ± z√(p̂(1−p̂)/n + z²/4n²)) / (1 + z²/n).
Confidence intervals for means use x̄ ± tcrit × SEM at 95%.
Everything runs in your browser — your data never leaves this device. This tool is for learning and quick checks; for publication, confirm results in a statistics package.