Every statistical test rests on a few assumptions about your data. DataClassroom's assumption checker helps you see those assumptions clearly, test the ones that can be tested mathematically, and decide what to do next. This guide explains what each assumption means, how the checker evaluates it, and, most importantly, how to think about the result.
The one idea to hold onto
A flagged assumption is not a failure. It is an invitation to look closer, make a choice, and explain it.
When the checker tells you an assumption is "Not met," it is not saying your analysis is broken or your test is forbidden. It is pointing at a specific feature of your data and saying: look here, and decide what to do. Which test to run is a judgement call, and the call is yours. The checker hands you evidence. It doesn't make the decision. Keep that framing in mind as you read the rest of this guide.
Why "Not met" is often less alarming than it looks
The tests that check assumptions, such as the Shapiro-Wilk test for normality, get more sensitive as your sample size grows. With a large dataset, these checks can flag tiny, harmless departures from a perfect mathematical ideal. A few hundred data points that are very slightly skewed will often be reported as "not normally distributed," even when that slight skew makes no practical difference to your conclusion.
So a "Not met" result on a large dataset frequently means "technically distinguishable from perfect normality," not "unusable." Conversely, with a very small sample, an assumption check has little power to detect a real problem, so a "Met" result is weaker reassurance than it sounds.
The practical takeaway: read a flagged assumption as a prompt to look at your graph and your data, not as a verdict. Ask how badly an assumption is missed and whether it matters for the decision you're making, rather than simply whether a p-value crossed a line.
How to use the checker with a Graph-Driven Test
1. Make a graph. Show the columns you want and place them on the X, Y, and (if needed) Z axes.
2. Click the graph-driven hypothesis test icon (see Graph Driven Tests). DataClassroom highlights the one it recommends.
3. Make sure you have Show advanced options set. It should look like this:
.png)
4. Hover the assumptions icon on any test row to see its main assumptions. A ∧ marker means the test assumes normality. An NP marker means the test is non-parametric, so it does not assume normality.
5. Open the checker by clicking Check on the recommended row. The Check assumptions window opens with a plain-language list of that test's assumptions.
.png)
6. To run the checks click Test assumptions. DataClassroom runs the statistical checks it can (see below) and reports each as Met or Not met, with a p-value.
Use the result to choose: proceed with the test, switch to a non-parametric alternative, transform your data, or note the limitation and explain your reasoning.
What the checker can and can't test
Normality is checked with the Shapiro-Wilk test by default. You can switch to D'Agostino-Pearson in the checker's dropdown. Those are the two normality methods available.
Equal variance is checked with the Levene test.
For regression-type tests, normality is checked on the residuals (the distances from each point to the fitted line), not the raw values.
Some assumptions, such as independence and the "similar distributions" assumption behind non-parametric tests, are not evaluated by a statistical test. They depend on how your data were collected, and are listed for you to reason about yourself.
Non-parametric tests (Mann-Whitney U, Kruskal-Wallis, the chi-square tests) are information-only in the checker. Their assumptions are described, but there is no button to run a check, because they make fewer distributional demands by design.
Parametric or non-parametric?
Many tests come in pairs: a parametric test that assumes normality, and a non-parametric partner that does not. If a normality assumption is flagged and you're concerned it matters, you can tick Choose non-parametric (NP) tests in the panel to swap to the partner test. The non-parametric route trades a little statistical power for freedom from the normality assumption, which is another judgement call that's yours to make.
Choosing a normality test: Shapiro-Wilk or D'Agostino-Pearson
When a test checks normality, the checker gives you two methods to run it with, and you pick one from the dropdown. Both ask whether your data are consistent with a normal distribution, but they are built differently, and your sample size is the deciding factor.
Use Shapiro-Wilk (the default) when your sample is small, roughly under 30. It is the most powerful normality test at small sample sizes, and it doesn't lean on shape estimates that only a large sample can pin down.
Use D'Agostino-Pearson once your sample is larger, roughly 30 or more. It builds its answer from two specific features of shape, skewness (how lopsided the data are) and kurtosis (how heavy the tails are). That makes it the better choice when lopsidedness or heavy tails are your concern. It needs a reasonable number of points to estimate those features.
Two things to keep in mind. The tests usually agree; when they don't, the departure from normality is probably mild, so let your graph settle it. And at very large sample sizes both tests get sensitive enough to flag trivial, harmless deviations, so weigh a "Not met" against what you actually see in the plot.
Statistical tests and their assumptions
T-test
When it's recommended: comparing a numeric outcome between two groups (a categorical variable with two values on X, a numeric variable on Y). Parametric.
Main assumptions: Independence, Normality, Equal variance.
What the checker tests: Normality and Equal variance.
Independence
Each sample is randomly selected and independent. Each observation should come from a separate, randomly chosen source, and no observation should influence another. This depends on your study design, so the checker does not test it. It is for you to confirm. If the same subject appears in both groups, you likely want the Paired T-test instead.
Normality
The sample distributions for each group are normally distributed. The values within each group should roughly follow a bell curve. The dropdown here lets you pick Shapiro-Wilk or D'Agostino-Pearson; see Choosing a normality test above if you're unsure which fits your sample. Remember the sensitivity point: with large groups this check flags slight, unimportant deviations. Look at the shape of each group on your graph before deciding a flag matters. If normality is genuinely a problem, the non-parametric alternative is the Mann-Whitney U test.
Equal variance
The groups have approximately equal variance. The spread of values should be similar in both groups. The checker runs the Levene test. If variances differ substantially, that's worth noting, but again, weigh how large the difference is against your sample sizes.
Mann-Whitney U
When it's recommended: comparing a numeric outcome between two groups when you don't want to assume normality. It is the non-parametric partner of the T-test. Non-parametric.
Main assumptions: Independence, Similar distributions.
What the checker tests: Nothing to run. This test is information only. Because it ranks values instead of using their exact sizes, it makes no normality demand.
Independence
Each sample is randomly selected and independent. As with the T-test, each observation should be separately and randomly obtained. This is a design question, not something a statistical check can confirm.
Similar distributions
The samples for the groups are similar in shape and spread. The two groups should have distributions of broadly similar form, even if they're shifted apart. When this holds, the Mann-Whitney U result can be read as a comparison of medians. Inspect your graph to judge this, since it isn't evaluated by a test.
ANOVA
When it's recommended: comparing a numeric outcome across more than two groups (a categorical variable with three or more values on X, a numeric variable on Y). Parametric.
Main assumptions: Independence, Normality, Equal variance.
What the checker tests: Normality (Shapiro-Wilk) and Equal variance (Levene).
Independence
Each sample is randomly selected and independent. Every observation should be a separate, randomly chosen unit with no influence on the others. This is a matter of study design and is not tested by the checker.
Normality
The sample distributions for each group are normally distributed. Each group's values should roughly follow a bell curve, and the checker runs Shapiro-Wilk on each group. With many observations per group this check is sensitive to trivial departures, so read a flag as a prompt to look at your data. The non-parametric alternative is the Kruskal-Wallis test. You can run the check with Shapiro-Wilk or D'Agostino-Pearson; Choosing a normality test above explains when to reach for each.
Equal variance
The groups have approximately equal variance. The spread should be comparable across all groups. The checker runs the Levene test. Judge a flag by the size of the difference, not the p-value alone.
Kruskal-Wallis
When it's recommended: comparing a numeric outcome across more than two groups without assuming normality. It is the non-parametric partner of ANOVA. Non-parametric.
Main assumptions: Independence, Similar distributions.
What the checker tests: Nothing to run. Information only.
Independence
Each sample is randomly selected and independent. A design requirement, confirmed by you rather than by a statistical check.
Similar distributions
The samples for the groups are similar in shape and spread. When the groups have similar-shaped distributions, Kruskal-Wallis can be interpreted as a comparison of medians across groups. Use your graph to judge whether this holds.
2-way ANOVA
When it's recommended: examining how a numeric outcome depends on two categorical factors at once (a categorical variable on X, a numeric variable on Y, and a second categorical variable on Z). Parametric.
Main assumptions: Independence, Normality, Equal variance.
What the checker tests: Normality (Shapiro-Wilk) and Equal variance (Levene).
Independence
Each sample is randomly selected and independent. Observations should be separate, randomly obtained units. A design question, not tested by the checker.
Normality
The sample distributions for each group are normally distributed. Each combination of the two factors should be roughly bell-shaped, and the checker runs Shapiro-Wilk. The large-sample sensitivity caution applies here too. If you'd rather use D'Agostino-Pearson, it's in the same dropdown; see Choosing a normality test above.
Equal variance
The groups have approximately equal variance. Spread should be similar across the factor combinations, checked with the Levene test.
ANCOVA
When it's recommended: comparing a numeric outcome across groups while adjusting for a numeric covariate (a categorical variable on X, a numeric outcome on Y, and a numeric covariate on Z). Parametric.
Main assumptions: Independence, Normality of residuals, Equal variance, No extreme outliers, Linearity.
What the checker tests: Normality of residuals (Shapiro-Wilk) and Equal variance (Levene).
Independence
Each sample is randomly selected and independent. A design requirement you confirm yourself.
Normality of residuals
The residuals, the distances from each data point to the fitted line, are normally distributed. ANCOVA fits a line and then asks whether what's left over (the residuals) is roughly bell-shaped. The checker runs Shapiro-Wilk on the residuals. As always, large samples make this check sensitive to minor departures. Shapiro-Wilk and D'Agostino-Pearson are both offered in the dropdown; Choosing a normality test above covers which to use.
Equal variance
The groups have approximately equal variance. The spread of the outcome should be comparable across groups, checked with the Levene test.
No extreme outliers
No single point should drive the result on its own. Look for individual points far from the rest that could be steering the fit. This is a judgement you make from the graph, not a test the checker runs.
Linearity
The relationship between the independent and dependent variable is linear. The covariate and the outcome should be related in a roughly straight-line way. Check this by eye on your scatter plot.
Linear regression
When it's recommended: modeling how a numeric outcome changes with a numeric predictor (a numeric variable on X, a numeric variable on Y). Parametric.
Main assumptions: Normality of residuals, No extreme outliers, Linearity, Homoscedasticity, Independence of errors.
What the checker tests: Normality of residuals (Shapiro-Wilk) only.
Normality of residuals
The residuals, the distances from each data point to the fitted line, are normally distributed. Regression doesn't require your raw X or Y to be normal. It asks that the leftover scatter around the fitted line be roughly bell-shaped. The checker runs Shapiro-Wilk on the residuals. With many data points this is sensitive to slight non-normality, so pair the result with a look at your graph. The method is your choice, Shapiro-Wilk or D'Agostino-Pearson, and Choosing a normality test above helps you decide.
No extreme outliers
No single point should drive the result on its own. A lone point far from the trend can tilt the whole line. Inspect the graph for such points, since this isn't evaluated by a statistical check.
Linearity
The relationship between the independent and dependent variable is linear. A straight line should be a reasonable summary of the pattern. If the cloud of points curves, a line may be the wrong model, so judge this from the scatter plot.
Homoscedasticity
Residual scatter should be similar across all values of X. The spread of points around the line should stay roughly constant from left to right, rather than fanning out. Look for a widening or narrowing wedge shape in your graph.
Independence of errors
Residuals shouldn't be related to one another. One point's distance from the line should tell you nothing about the next point’s distance from the line. This most often matters for data collected in sequence or over time. It is a design consideration rather than a check the tool runs.
Chi-square Goodness of Fit
When it's recommended: testing whether the counts in the categories of one categorical variable match an expected distribution. Non-parametric.
Main assumptions: Independence, Exclusivity of groups.
What the checker tests: Nothing to run. Information only.
Independence
Each sample is randomly selected and independent. Each observation should be counted once, independently of the others. A design requirement.
Exclusivity of groups
Every observation belongs to one category and one only; no double-counting. Each item must fall into exactly one category. If something could be counted in two categories at once, the test doesn't apply as-is.
Chi-square Test of Independence
When it's recommended: testing whether two categorical variables are associated (a categorical variable on each of X and Y). Non-parametric.
Main assumptions: Independence, Exclusivity of groups.
What the checker tests: Nothing to run. Information only.
Independence
Each sample is randomly selected and independent. Each observation is one independently obtained unit, counted once. A design requirement.
Exclusivity of groups
Every observation belongs to one category and one only; no double-counting. Each observation lands in exactly one cell of the table. Overlapping categories break the test.
Paired T-test
When it's recommended: comparing two measurements taken on the same subjects, for example before and after a treatment (a two-value categorical variable on X, a numeric outcome on Y, and an identifier column marking each subject on Z). Parametric.
Main assumptions: Independence, Normality of differences, Similar distributions.
What the checker tests: Normality of differences (Shapiro-Wilk).
Independence
Each sample is randomly selected and independent. Here independence applies across subjects: each pair (each subject) should be independent of the other pairs, even though the two measurements within a pair are deliberately linked. A design requirement.
Normality of differences
The differences between each pair of values are normally distributed. The paired test works on the difference between each subject's two measurements, so it's the distribution of those differences, not the raw values, that should be roughly bell-shaped. The checker runs Shapiro-Wilk on the differences. With many pairs, expect this check to flag small departures, so look at how the differences are distributed before deciding it matters. You can switch to D'Agostino-Pearson in the dropdown; Choosing a normality test above explains when that's the better pick.
Similar distributions
The samples for the groups are similar in shape and spread. The two sets of measurements should have broadly similar form. This one is listed for you to reason about rather than tested directly.
Repeated Measures ANOVA
When it's recommended: comparing a numeric outcome across three or more measurements taken on the same subjects. It is the repeated-measures extension of ANOVA (a categorical variable with three or more values on X, a numeric outcome on Y, and an identifier column marking each subject on Z). Parametric.
Main assumptions: Independence, Normality of within-subject residuals, Linearity, Sphericity.
Independence
Independence here applies across subjects: different subjects should be independent of one another, even though each subject contributes several linked measurements. A design requirement rather than a tested quantity.
Normality of within-subject residuals
After accounting for each subject's own baseline, the leftover variation (the within-subject residuals) should be roughly normally distributed. As with every normality assumption, a flag is more informative on small samples and increasingly sensitive to trivial departures as your data grow.
Linearity
The relationship underlying the repeated measurements should be well summarized in a linear way. Inspect your data for strong curvature that a linear model would miss.
Sphericity
The variance of the differences between every pair of measurement conditions should be roughly equal. Sphericity is specific to repeated-measures designs. It asks that no pair of conditions be much more variable in their differences than another pair. When it's badly violated, corrections such as Greenhouse-Geisser are commonly applied.