Math calculator

Tobit Calculator

Piled at a limit.

Piled at a limit

Annual charitable donations against income for 220 households. A hundred and one gave nothing, so the outcome piles up at zero and the data records a floor rather than a quantity. The censored regression recovers a slope of 1.0238. Treating those zeros as real amounts gives 0.5704, which is 44.3% short. Dropping those households entirely — the response that feels careful — gives 0.5725, which is 44.1% short. The two wrong answers land within 0.002 of one another, so the careful-looking fix bought nothing whatsoever.

220 rows · 101 censored at 0.0000 (45.9%) · residual spread 23.808

Censored regression gives 1.0238 — least squares gives 0.5704

That is 44.3% short. Dropping the censored rows instead gives 0.5725, which is 44.1% short — the same direction, and on this data barely any better. The shortfall tracks the share of rows that survive uncensored: 0.5409 of the sample, against an attenuation factor of 0.5571.

Censored regression

1.0238

± 0.202 — p 1.965611e-19

Least squares, all rows

0.5704

44.3% short

Least squares, censored dropped

0.5725

44.1% short

Effect on the observed outcome

0.5409

smaller than the coefficient

Three answers from the same rows

Slope, standard error and shortfall under each of the three approaches
ApproachRows usedSlopeStandard errorShortfall
Censored regression2201.02380.1030
Least squares on every row2200.57040.055644.3%
Least squares, censored dropped1190.57250.097744.1%

The two least-squares rows are the two things people actually do, and they fail in the same direction. Treating the limit as a real value flattens the line because the censored points sit above where their true values would be. Dropping them flattens it too, because the rows removed are not a random subset — they are systematically the ones with low predictor values, so what is left is a truncated sample with a compressed range.

Why the shortfall is the size it is

Censored share against the measured attenuation factor
QuantityValueReading
Share of rows censored45.9%101 of 220 at the limit
Share surviving uncensored0.5409the rows carrying real values
Attenuation factor0.5571least squares divided by the censored fit
Residual spread23.808on the underlying uncensored scale
Effect on the observed outcome0.5409the coefficient scaled to what is seen

Those middle two rows sit close together, and that is not a coincidence of this dataset. Averaged over 200 replications at a true slope of 1.5, censoring 13.2% of rows gives 1.2971, 38.9% gives 0.9142, 61.0% gives 0.5885 and 75.7% gives 0.3689 — each within about a point of the uncensored share times the truth. The censored fit returns 1.4956, 1.4973, 1.5064 and 1.5187.

The coefficient describes the underlying variable, not what you observe. The effect on the observed outcome is smaller — 0.5409 here — because a unit already at the limit may not move off it. Both are reported because they answer different questions and are routinely confused.

This model assumes one process decides both whether a unit is at the limit and how far above it goes. If deciding to donate and deciding how much are genuinely different decisions, a two-part model fits them separately. For outcomes that are skewed rather than censored, quantile regression makes no distributional assumption at all.

Both least-squares fixes Shortfall measured Latent and observed effects Upper or lower limits A lightly censored preset

What this tool shows

Two least-squares responses to a censored outcome, both wrong, both wrong in the same direction, and the careful-looking one is no better. With 45.9% of donations at zero, the censored regression recovers a slope of 1.0238. Treating those zeros as real amounts gives 0.5704 — 44.3% short. Dropping those households instead, which feels like the conservative choice, gives 0.5725 — 44.1% short. The two land within 0.002 of one another. And the shortfall is not arbitrary: averaged over 200 replications it tracks the share of rows that survive uncensored, almost exactly.

  • A censored-normal maximum likelihood fit with standard errors and p-values
  • Least squares on every row, treating the limit as a real value
  • Least squares with the censored rows dropped, which fails the same way
  • The shortfall in each, and how it tracks the censored share
  • The effect on the underlying variable against the effect on what you observe
  • A lightly censored preset where the bias is small and ignorable
Both least-squares fixes Shortfall measured Latent and observed effects Upper or lower limits

A value at the limit records a floor, not a quantity.

Updated 13 September 2026 · Works in any browser, no installation

A Tobit model fits a regression to an outcome that piles up at a limit — donations at zero, hours at zero, scores at a ceiling — by treating a value at the limit as evidence that the underlying quantity was at or beyond it, rather than as a measurement. Least squares reads those values literally, which flattens the fitted line toward zero, and the bias grows with how much of the sample is stacked at the limit.

At a glance

Formula shown
The latent variable y* = xβ + ε with ε normal is observed as y = max(L, y*) for a lower limit L. Uncensored rows contribute the usual normal density; censored rows contribute Φ((L − xβ)/σ), the probability the latent value fell at or below the limit. β describes the latent variable; the effect on the observed outcome is smaller, scaled by the probability a unit is above the limit.
Scenario support
Charitable donations where many give nothing, hours worked where many work none, spending on a category most households skip, test scores at a ceiling, and any outcome where a pile of identical values marks a boundary rather than a measurement.
Educational estimate
Planning support from the values you enter — not professional advice.

Why dropping the censored rows fails too

The naive mistake is obvious once stated: a household recorded as donating £0 did not necessarily want to donate £0. The zero records that its latent inclination was at or below zero, and treating it as the number zero puts those households higher on the outcome scale than they belong, which flattens the line. On the preset that costs 44.3%.

The second response looks much more careful. If those zeros are not real measurements, remove them and fit the line to households whose donations are genuine amounts. That gives 0.5725 — 44.1% short. Within 0.002 of the naive answer. All the care bought nothing.

The reason is that the rows removed are not a random subset. Households at zero are systematically the ones with lower income, so dropping them removes the whole bottom of the predictor range along with the bottom of the outcome range. What is left is a truncated sample where the surviving low- income households are the unusually generous ones, and fitting a line through that compresses the slope just as effectively.

Both mistakes come from the same place: treating a boundary as data. The censored fit does neither. An uncensored row contributes its value, and a censored row contributes only the statement that the latent value was at or below the limit — which is exactly what was observed and no more.

How big the bias is

The size is predictable, and worth knowing because it tells you when to care. Two hundred datasets were simulated at each of four censoring levels with a true slope of 1.5.

At 13.2% censored, least squares averaged 1.2971. At 38.9%, 0.9142. At 61.0%, 0.5885. At 75.7%, 0.3689. The censored regression averaged 1.4956, 1.4973, 1.5064 and 1.5187 across the same four — essentially exact at every level.

Line those up against the share of rows surviving uncensored and the pattern is hard to miss: 86.8%, 61.1%, 39.0% and 24.3% of the truth would be 1.302, 0.917, 0.585 and 0.365. The measured values are 1.2971, 0.9142, 0.5885 and 0.3689. The attenuation factor is, near enough, the uncensored share.

That gives a usable rule. With a tenth of the sample at the limit the bias is around a tenth and probably not worth a different model. With half the sample at the limit the slope is roughly halved, and no amount of careful interpretation recovers it. The lightly censored preset is on the page for exactly this reason: at 8.2% censored the shortfall is 6.8%, and reporting the ordinary regression would be defensible.

Two different effects

The coefficient describes the latent variable — the underlying inclination to donate, which can be negative even though donations cannot. The effect on the outcome you actually observe is smaller, because a household already at zero may not move off zero when its income rises a little.

Both are reported. The coefficient answers “how does the underlying propensity respond?” and the marginal effect answers “how does observed spending respond?”. The second is the one most audiences want and the first is the one most papers print, which is a reliable source of overstatement by the ratio between them.

The gap depends on how much of the sample sits at the limit: the marginal effect is roughly the coefficient times the probability of being above it. When almost nothing is censored the two nearly coincide; when half the sample is at the floor the observed effect is about half the coefficient.

What the model assumes

Tobit assumes a single process decides both whether a unit sits at the limit and, if not, how far above it goes. The same income coefficient governs whether a household donates at all and how much it gives.

That is often too strong. Deciding to donate and deciding how much may be different decisions driven by different things — one by whether a charity asked, the other by disposable income. When that is the case a two-part model fits them separately: a binary model for crossing the limit, then a regression on the units that did. It is more flexible and more work, and the right choice when the two decisions are substantively distinct.

The model also leans on normality harder than least squares does. Ordinary regression is fairly forgiving of non-normal errors; here the normal assumption enters the likelihood through the censored rows’ probability term, so getting the distribution wrong biases the coefficients rather than just the standard errors. On skewed outcomes that is a real risk, and quantile regression makes no distributional assumption at all.

One distinction worth keeping straight: censoring is not truncation. Censored data records that a unit was beyond the limit; truncated data excludes those units from the sample entirely, so you do not know how many there were. This model handles the first. Fitting it to truncated data would assume information you do not have.

Reporting it

Report the censored share first. It is what tells a reader whether any of this mattered: at 8% the ordinary regression would have been nearly right, at 46% it is off by nearly half, and the number makes that judgement available without trusting anyone’s model choice.

Report both the coefficient and the marginal effect, and label which is which. A reader given only the coefficient will read it as the effect on observed spending and overstate it by the ratio between them.

Say whether you considered a two-part model and why you did not. The single-process assumption is the substantive one here and it is rarely mentioned at all. And state the limit and which side is censored — a ceiling behaves identically to a floor with the signs reversed, and the two are easy to conflate when only the coefficient is shown.

Sources and methodology

References for the estimator and the alternatives to it.

Method. The censored-normal likelihood is maximised by Newton steps with a numerically differentiated Hessian and a backtracking line search; standard errors come from the observed information, and both least-squares comparisons are computed from the same rows. The suite checks that shifting the outcome and the limit together leaves the slope and sigma unchanged, that the reported least-squares slope matches a direct covariance computation, that the marginal effect never exceeds the coefficient in size and keeps its sign, and that both least-squares fits are attenuated relative to the censored one on every dataset. The attenuation figures quoted come from 200 replications at each of four censoring levels with a known true slope. That engine is verified on every change against 490 assertions. The count and the per-case breakdown are published on the formula verification page.

Related calculators

Where this goes next:

Quantile RegressionFit a slope at the 10th, 25th, 50th, 75th and 90th percentiles with least squares beside it, and see what one outlier does to each.
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.
Multiple RegressionFits several predictors with a VIF on every term, and names the configuration people misread: a model significant at p = 0.0103 where neither predictor reaches 0.05, at a VIF of only 7.11.
Logistic RegressionLogistic regression with odds ratios converted to risk ratios at your own event rate, a likelihood ratio test, AUC, and separation reported rather than hidden.
Zero-InflatedFit a zero-inflated Poisson model, with the zeros a plain Poisson would predict against the zeros actually observed and a Vuong comparison.
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.

More in Math, or browse all calculators.

Educational use disclaimer

An educational tool. The model assumes one process governs both whether a unit is at the limit and its value beyond it; where those are distinct decisions a two-part model is more appropriate. It relies on normality more heavily than ordinary regression, since the censored rows enter the likelihood through a normal probability, so a misspecified distribution biases coefficients rather than only standard errors. Censoring is not truncation, and this model does not apply to samples where beyond-limit units were excluded entirely.

How we calculate · Found an error? email us

Authorship & verification

Written and maintained by , a business operator who builds spreadsheet-based calculators.

What's changed (5 updates)

Published 13 September 2026

  1. Published a censored regression with both least-squares alternatives computed beside it.
  2. Showed that dropping the censored rows fails the same way, landing within 0.002 of the naive fit.
  3. Measured the attenuation against the censored share over 200 replications at four censoring levels.
  4. Separated the effect on the latent variable from the effect on the observed outcome.
  5. Stated that censoring is not truncation and that a two-part model fits distinct decisions better.

Add this calculator to your site

Responsive embed — and private: nothing your visitors type leaves their browser.