Several predictors at once, with a variance inflation factor on each.
Fit, with a VIF on every predictor
The model is significant at p = 0.0103 and neither predictor reaches 0.05 — at a VIF of only 7.11.
n = 12, 2 predictors, 9 residual degrees of freedom
R² = 0.638545, adjusted 0.558221
F(2, 9) = 7.94968, p = 0.010262. Residual standard error 42.53096 in units of price.
The model is significant and no individual predictor is. That is not a contradiction and it is not a bug: the predictors overlap, so the fit needs them collectively while no single one can be shown to matter once the others are in. The largest VIF here is 7.1117. Dropping one of the overlapping columns will usually make the survivor significant without changing R² much — which tells you the data cannot separate their effects, not that neither has one.
R²
0.638545
variance explained
Adjusted R²
0.558221
penalised for k
Overall F
7.94968
p = 0.010262
Largest VIF
7.1117
noticeable overlap
Coefficients with standard errors, t-statistics, p-values, confidence intervals and variance inflation factors
Term
Estimate
Std. error
t
p
95.000% interval
VIF
(intercept)
130.421254
204.951597
0.6364
0.54039
-333.21147 to 594.05398
—
size
0.101230
0.083991
1.2052
0.25884
-0.08877 to 0.29123
7.1117
age
-0.827719
2.687627
-0.3080
0.76511
-6.90755 to 5.25212
7.1117
An interval that straddles zero is the same statement as p above 0.050— two renderings of one fact. The VIF is 1/(1 − R²) from regressing that predictor on all the others, so a VIF of 10 means 90% of it is already explained by its neighbours.
What the last predictor bought
R² without it
0.634736
rose to 0.638545
Adjusted R² change
-0.039988
it cost more than it gave
Its own p-value
0.76511
age
Residual SE
42.53096
was 40.56046
R² can only rise when a column is added — a predictor that explains nothing gets a coefficient near zero and leaves the fit where it was, never worse. Adjusted R² subtracts a penalty for the degree of freedom spent, so it is the one that can fall.
A formless cloud around zero is what you want. A curve means the relationship is not linear; a widening fan means the error variance grows with the prediction, which invalidates the standard errors above rather than the coefficients.
Each coefficient is the effect of that predictor holding the others fixed. Not the effect of changing it in the world — the effect of changing it while the other columns in this table stay put. Where two predictors move together in practice, that number describes a comparison your data contains very few of, which is exactly what a high VIF is measuring.
What this tool shows
On the first example the model is significant at p = 0.0103 and neither predictor reaches 0.05 — at a VIF of only 7.11. The collinearity paradox does not need a VIF in the thousands, and reading that output as “nothing matters” is the commonest misreading in applied regression. The tool names the configuration when it occurs, prints a VIF on every term, and shows what your last predictor actually bought.
Coefficients with standard errors, t-statistics, p-values and intervals
A variance inflation factor for every predictor, not just a warning
The overall F-test, R² and adjusted R² side by side
A named flag when the model is significant and no predictor is
What dropping the last predictor would cost, computed both ways
The residuals-against-fitted plot that checks the shape assumption
VIF per term Paradox flagged Adjusted R² shown Residual plot
A significant model with no significant predictor is normal.
Updated 12 September 2026 · Works in any browser, no installation
Multiple regression finds the coefficients minimising the sum of squared residuals across all predictors at once, and each coefficient is the effect of its predictor holding the others fixed. That last clause is where the difficulty lives: when two predictors move together, the data contains very few observations where one changed and the other did not, so both coefficients become unstable while the overall fit stays excellent.
At a glance
Formula shown
The coefficients solve the normal equations X'Xβ = X'y, where X is the design matrix with a leading column of ones. Standard errors come from the diagonal of s²(X'X)⁻¹ with s² = SSE/(n − k − 1), and each t-statistic is the estimate over its standard error on n − k − 1 degrees of freedom. R² = 1 − SSE/SST; adjusted R² = 1 − (1 − R²)(n − 1)/(n − k − 1), which subtracts a penalty for every degree of freedom spent. The VIF for predictor j is 1/(1 − R²ⱼ), where R²ⱼ comes from regressing that predictor on all the others.
Scenario support
Price models with several drivers, dose-response with covariates, controlling for confounders in an observational study, forecasting from multiple leading indicators, and any analysis where a simple regression coefficient is suspected of carrying another variable’s effect.
Educational estimate
Planning support from the values you enter — not professional advice.
A significant model where nothing is significant
Twelve houses, two predictors, one baffling output. The F-test says the model explains the prices (p = 0.0103). The coefficient table says size does not matter (p = 0.259) and age does not matter (p = 0.765).
Both statements are correct and they are not in conflict. The F-test asks whether the predictors together explain the outcome. Each t-test asks whether a predictor adds anything ONCE THE OTHERS ARE ALREADY IN. When two predictors carry much the same information, the answer to the first is yes and the answer to both of the second is no.
Here the VIF is 7.11. Size and age correlate at −0.93 in this sample — the bigger houses happen to be the newer ones — so 86% of each predictor is already explained by the other. That is enough. The textbook thresholds of 5 and 10 are not a boundary between safe and unsafe; they are a rough scale, and the paradox appears well inside the “acceptable” range.
The fix is a decision, not a computation. Drop one of the overlapping predictors and the survivor usually becomes strongly significant with almost no loss of R². That is the honest reading: the data can show the pair matters and cannot separate which one.
What you must not do is conclude that neither variable has an effect. Try the near-duplicate preset: the same spending figure in dollars and in hundreds of dollars gives a VIF of 68,000, two p-values of 0.52 and 0.63, and an R² of 0.9956. Fitted alone, the same column has a p-value of 4.5 × 10⁻¹³. Nothing changed about the world between those two models.
What a VIF actually measures
It is not a correlation and it is not a warning light. It is a multiplier, with a precise meaning.
VIFj = 1/(1 − R²j), where R²j comes from regressing predictor j on all the other predictors. A VIF of 10 means 90% of that predictor is already explained by its neighbours, and only the remaining 10% is doing new work.
The multiplier applies to the VARIANCE of the coefficient. A VIF of 9 means the standard error is three times — the square root — what it would have been with orthogonal predictors. That directly triples the width of the confidence interval and divides the t-statistic by three.
With exactly two predictors both VIFs are identical by construction, because both derive from the same single R² between the two columns. That equality is checked in the verification suite, and it is a useful sanity test: if a tool reports different VIFs for a two-predictor model, something is wrong.
A VIF of 1 means genuinely independent predictors. The balanced-design preset is the case: fertiliser and rainfall were varied independently, both VIFs come out at 1.0009, and both coefficients are significant beyond 10⁻⁷. A designed experiment buys that; observational data almost never does.
High VIF is not a modelling error. It is a statement about what your data can answer. It does not bias the coefficients, it does not hurt prediction within the observed range, and it does not need “fixing” if prediction is all you want. It matters when you intend to interpret individual coefficients.
R² can only go up, which is why adjusted R² exists
Adding a predictor never lowers R². Not usually — never. A useless column gets a coefficient near zero and leaves the fit exactly where it was; anything else would mean least squares failed to find the better solution that was available to it.
So R² cannot be used to compare models with different numbers of predictors. It is guaranteed to favour the larger one, whatever the larger one contains.
The tool shows it directly. The second preset adds a column of lot numbers — arbitrary identifiers, in no possible causal relation to price. R² rises from 0.638544854352 to 0.638544854694: an increase of 3.4 × 10⁻¹⁰, and an increase all the same. The predictor’s own p-value is 0.99993.
Adjusted R² falls by 0.055 on the same change. It subtracts a penalty for every degree of freedom spent, so a column has to earn more than its cost to move it upward. It can and does go down, and it can go negative.
Verified as a universal rather than described. Four hundred random datasets, each fitted with and without a pure-noise column: R² rose or held in 400 of 400, and adjusted R² fell in the large majority. The first is a theorem; the second is a tendency, and the suite distinguishes them.
Neither is a model-selection criterion. Adjusted R² penalises complexity too weakly to be trusted for that. Its job here is to stop R² being read as evidence that a column helped.
“Holding the others constant” is a claim about your data
Every multiple-regression coefficient comes with that phrase attached, and it is usually read as a description of the world. It is a description of the arithmetic.
The coefficient answers: among observations that are alike on the other predictors, how does the outcome differ? If your data contains almost no such observations, the answer is extrapolated rather than measured — and a high VIF is precisely the statement that it contains almost no such observations.
With size and age correlated at −0.93, there are very few large old houses in the sample. The coefficient on size is reporting what happens to price for two houses of the same age and different size, using a handful of comparisons that barely exist. The confidence interval reflects that honestly by being wide; the point estimate does not.
It is also not a causal claim. Holding the measured predictors fixed says nothing about the unmeasured ones, and a coefficient that changes sign when a column is added is telling you about confounding, not about the world changing.
Which is why the sign of a coefficient can flip between a simple and a multiple regression. Neither result is wrong. They answer different questions, and only the analyst knows which question was asked.
The residual plot checks what the numbers cannot
Every figure in the coefficient table assumes the model form is right and the errors are well behaved. The residual plot is where that assumption is tested, and it is the only output here that can fail visibly.
A formless cloud around zero is what you want. No pattern means the linear form captured the structure and what is left is noise.
A curve means the relationship is not linear. The coefficients are then the best straight-line summary of a curved relationship, which is a real thing to report and a poor thing to extrapolate from. A quadratic term often fixes it.
A widening fan means the error variance grows with the prediction. This leaves the coefficients unbiased and makes the standard errors wrong — so the p-values and intervals in the table are not to be trusted even though the estimates are.
One point far from the rest is high leverage. A single observation can determine a coefficient in a small dataset, and the residual calculator computes the leverage and Cook’s distance that quantify it.
The residuals sum to zero and are orthogonal to every predictor, always. That is what least squares means, it holds for any dataset, and it is checked in the suite — so an interesting-looking pattern in the residuals is never an artefact of the fitting.
Reporting a multiple regression
The coefficient table is not the report. Five things belong with it.
Report n and k, not just R². An R² of 0.9 on twelve rows with five predictors means something different from the same figure on a thousand rows with two, and adjusted R² is the minimum correction.
Report the VIFs when you interpret coefficients. A coefficient from a VIF of 68,000 is a number without a stable meaning, and the reader cannot tell from the estimate alone.
Report the confidence intervals, not only the p-values. “p = 0.04” and “the effect is between 0.01 and 4.2 units” are the same fact, and only the second tells the reader whether the effect is worth anything.
State which predictors you tried and discarded. Fitting eight and reporting the three that survived is an uncorrected multiple comparison, and the p-values in the final table do not account for it.
And do not call a coefficient an effect unless the design earns it. Regression on observational data measures association conditional on the columns you happened to include. That is genuinely useful and it is not causation, and the difference cannot be recovered from the output.
Sources and methodology
References for multiple regression and collinearity diagnostics.
Method. The normal equations are solved by Gaussian elimination with partial pivoting rather than by inverting X′X, because a collinear design is exactly the case where a naive inverse loses precision — and a genuinely singular design returns no result rather than a fabricated one. With a single predictor every figure is required to match the existing simple-regression engine to nine decimal places, which is the check that the solver and the standard errors are right. Each VIF is computed by actually regressing that predictor on the others, and the suite confirms it against an independent fit. The two headline behaviours are verified as properties rather than examples: R² never fell when a noise column was added across 400 random datasets, and the collinearity paradox is constructed and detected rather than asserted. That engine is verified on every change against 54 assertions. The count and the per-case breakdown are published on the formula verification page.
Related calculators
Where this goes next:
Linear RegressionThe least-squares line with r and r² — and the regression of x on y beside it, because those are two different lines rather than one line rearranged.
ResidualResiduals, standardised and studentised residuals, leverage and Cook's distance, with Anscombe's quartet built in — including the dataset every residual rule scores cleanest and which one point controls entirely.
Correlation CoefficientReports Pearson, Spearman and Kendall together with the scatter plot, and ships Anscombe's quartet built in — four datasets with an identical r of 0.816 that Spearman tells apart.
Quadratic RegressionFits y = a + bx + cx² and prints the vertex, which is the optimum a dose-response curve is fitted to find — plus whether that turning point falls inside your data or is being assumed by the shape.
One-Way ANOVAThe full F table with eta and omega squared, plus every pairwise gap — because a significant F says something differs and never says which, and ten groups tested pairwise carry a 90% false-positive rate.
Sum of SquaresComputes Σx² and Σ(x − x̄)² side by side, because the term means both and they differ by 94.7 times on the built-in preset — plus SST, SSR and SSE with the intercept condition the textbook identity depends on.
An educational tool. Regression coefficients describe associations conditional on the predictors included, not causal effects — adding or removing a column can change a coefficient’s size and even its sign, and no diagnostic in the output can tell you which specification is the right one.
Published multiple regression with a variance inflation factor on every predictor and a named flag for the collinearity paradox. The shipped example is significant at p = 0.0103 with neither predictor reaching 0.05, at a VIF of 7.11 — the paradox does not need a VIF in the thousands, which the textbook thresholds of 5 and 10 imply.
Solved by Gaussian elimination with partial pivoting rather than by inverting X'X, because a collinear design is exactly where a naive inverse loses precision. A genuinely singular design returns no result rather than a fabricated one.
With one predictor every figure is required to match the existing simple-regression engine to nine decimal places, which is what verifies the solver and the standard errors.
Demonstrated that R-squared can only rise: adding a column of arbitrary lot numbers moves it from 0.638544854352 to 0.638544854694 — an increase of 3.4e-10 — while adjusted R-squared falls by 0.055 and the predictor's own p-value is 0.99993. Verified as a universal across 400 random datasets.
Each VIF is computed by actually regressing that predictor on the others and cross-checked against an independent fit, rather than read off a correlation matrix.
Add this calculator to your site
Responsive embed — and private: nothing your visitors type leaves their browser.