Skip to main content
v2026.11,858 entries · CC-BY 4.0

Probit Formula: Model, Likelihood and Worked Example

The probit formula for binary outcomes, with every symbol explained, a worked example from published output, and Excel, R and Python code.

Written and maintained by CASRAI Editorial Board

Last updated

What is probit? Definition in one paragraph

Probit is a regression model for a binary outcome (coded 0 or 1) that assumes the probability of a positive outcome is determined by the standard normal cumulative distribution function. In plain terms, you combine your predictors into a single number, the linear index, and the normal curve converts that number into a probability between 0 and 1. The word is a contraction of “probability unit”, suggested by Bliss in 1934 for dose-response work in bioassay; today the term usually means the binary-outcome regression model used across the social, health and economic sciences.

The probit formula, with every symbol explained

For observation j with predictor vector xj and coefficient vector b, the model is:

Pr(yj = 1 | xj) = Φ(xjb)

  • yj: the binary outcome for observation j, coded 0 or 1.
  • xjb: the linear index, b0 + b1x1j + b2x2j + … The text below calls it the z-index.
  • Φ: the cumulative distribution function of the standard normal distribution (mean 0, standard deviation 1). It maps any real number to a probability.

The coefficients are estimated by maximum likelihood. Stata’s reference manual writes the log-likelihood as:

ln L = Σj in S wj ln Φ(xjb) + Σj not in S wj ln{1 – Φ(xjb)}

  • S: the set of observations with a positive outcome (y = 1); the second sum runs over the rest (y = 0).
  • wj: the optional weight for observation j (set to 1 when unweighted).
  • Each positive outcome contributes the log of its predicted probability; each zero contributes the log of one minus that probability. Maximum likelihood picks the b that makes the observed 0/1 pattern most probable.

Probit and logit differ only in the curve: the probit link corresponds to the normal CDF, the logit link to the logistic CDF. For the logistic version, see logistic regression in R; for outcomes with more than two categories, see multinomial logistic regression.

Worked example with real numbers

The Stata manual’s probit example uses the 1978 automobile data: 74 cars, of which 22 are foreign. It models the probability that a car is foreign (foreign = 1) from its weight (in pounds) and fuel economy (miles per gallon). The published coefficients are:

Term Coefficient Std. error z p
weight -0.0023355 0.0005661 -4.13 0.000
mpg -0.1039503 0.0515689 -2.02 0.044
constant 8.275464 2.554142 3.24 0.001

Model fit as printed: N = 74, LR chi-square(2) = 36.38 (p < 0.0001), log likelihood = -26.844189, pseudo R2 = 0.4039.

Predicted probability for a 3,000 lb car at 20 mpg.

  1. z-index = 8.275464 – 0.0023355 x 3000 – 0.1039503 x 20
  2. 0.0023355 x 3000 = 7.0065 and 0.1039503 x 20 = 2.079006
  3. z-index = 8.275464 – 7.0065 – 2.079006 = -0.810042
  4. Pr(foreign = 1) = Φ(-0.8100) = 0.209, about 21%.

A 2,000 lb car at 30 mpg. z-index = 8.275464 – 4.671 – 3.118509 = 0.485955, so Φ(0.486) = 0.687, about 69%. A 4,000 lb car at 15 mpg: z-index = 8.275464 – 9.342 – 1.559255 = -2.625791, so Φ(-2.626) = 0.004, under 1%. The negative signs on both coefficients say that heavier, thirstier cars are less likely to be foreign in this 1978 sample. Results use the coefficients exactly as printed; small differences in the last digit can come from rounding.

Interpretation: what the result means

Two readings are available. The sign of a coefficient gives the direction: a positive coefficient raises the z-index and therefore the probability; a negative one lowers it. The z-index itself converts to a probability through the normal CDF. Because Φ is a curve rather than a line, one unit of a predictor does not change the probability by a fixed amount: the same coefficient moves the probability more near 0.5 than in the tails.

z-index Probability Φ(z) Reading
-2.626 0.004 Outcome very unlikely
-1.000 0.159 Unlikely
-0.810 0.209 The 3,000 lb, 20 mpg car above
0.000 0.500 Even odds
0.486 0.687 The 2,000 lb, 30 mpg car above
1.960 0.975 Outcome very likely

The z column printed beside each coefficient is a separate quantity: it is the coefficient divided by its standard error, used for the significance test, not the z-index.

Assumptions and common mistakes

  • The outcome must be binary. Stata fits a dichotomous dependent variable coded 0/1, treating zero and non-zero as the two classes. Make sure the coding is what you intend before fitting.
  • Normal link and independent errors. The model assumes the normal CDF as the link, and the statsmodels documentation notes the models assume independently and identically distributed errors.
  • Perfect prediction. If a predictor perfectly predicts success or failure, Stata’s probit omits that variable and its observations rather than reporting an infinite coefficient.
  • Wrong default link. In R, glm with family = binomial uses the logit link by default. Probit must be requested explicitly.
  • Reading coefficients as probability changes. The coefficient is a change in the z-index, not in the probability.
  • Comparing probit and logit coefficients directly. They sit on different scales because the underlying curves differ, so compare predicted probabilities instead.

To compare nested probit models, use a likelihood-ratio test; see the likelihood-ratio test for nested models. Probit is one of the standard tools in applied econometrics.

How to report a probit result

Report the following from the output, as the Stata example shows them: the sample size N, each coefficient with its standard error, z statistic and p-value, the likelihood-ratio chi-square with its degrees of freedom and p-value, and the pseudo R2. State the outcome coding and the link, and name the software. Example wording based on the worked example: “A probit model predicting whether a car was foreign (N = 74) found that weight (b = -0.0023, SE = 0.0006, z = -4.13, p < .001) and fuel economy (b = -0.104, SE = 0.052, z = -2.02, p = .044) were negatively associated with the outcome; LR chi-square(2) = 36.38, p < .001, pseudo R2 = .40.” Follow your journal’s style guide for formatting.

How to calculate it in Excel, R or Python

Excel: the probit transform and the normal CDF

Excel does not fit probit models natively, but it provides the two functions the formula needs. NORM.S.INV(probability) returns the inverse of the standard normal cumulative distribution (the probit of a proportion) and returns #NUM! if the probability is 0 or less, or 1 or more. NORM.S.DIST(z, TRUE) converts a z-index back to a probability.

=NORM.S.DIST(-0.810042, TRUE)   // 0.209
=NORM.S.INV(0.209)              // about -0.81

R

fit <- glm(foreign ~ weight + mpg,
           family = binomial(link = "probit"),
           data = auto)
summary(fit)
predict(fit, newdata = data.frame(weight = 3000, mpg = 20),
        type = "response")

The R documentation lists probit among the binomial links, corresponding to the normal CDF; the default is logit.

Python (statsmodels)

import statsmodels.api as sm
X = sm.add_constant(df[["weight", "mpg"]])
res = sm.Probit(df["foreign"], X).fit()   # maximum likelihood
print(res.summary())

Frequently asked questions

What is probit?

A regression model for a 0/1 outcome in which the probability of a 1 is the standard normal CDF of a linear combination of predictors, estimated by maximum likelihood.

What is the probit formula?

Pr(y = 1 | x) = Φ(xb), where Φ is the standard normal cumulative distribution function and xb is the linear index.

How is probit different from logit?

Only the link differs: the probit link uses the normal CDF and the logit link the logistic CDF. In R both are options of the binomial family.

Where does the word probit come from?

It is a contraction of “probability unit”, suggested by Bliss (1934) in connection with bioassay.

Sources

Follow CASRAI

Research-administration guidance, standards updates and independent tool reviews.

Ask CASRAI · free to try

Ask about Probit Formula: Model, Likelihood and Worked Example

Ask your first 2 questions free below. Subscribers get 150 a day for $29 a month.

An AI assistant specialized in research administration. It cites the sources behind every answer, labels web answers and says when it can't answer.

Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.

Works on this site and inside Claude, Cursor and the AI tools you already use.

Everything CASRAI publishes — this page, the dictionary, the guides and the news — stays free to read, with no account and no card.

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →

Ask CASRAI · Regulatory Radar

Research-admin question? Get an answer that links its sources.

An AI assistant specialized in research administration. Every answer links its sources to check before you act. 2 questions free, no account. $29/month after.

  • Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.
  • Every answer numbers its sources and links each one, so you can check the source yourself.