Home / Science / Health and medicine / Toxicology / Benchmark dose (BMD) calculatorTool #475

Benchmark dose calculator: BMD and BMDL for quantal data with log-logistic, Weibull, gamma, multistage and probit models

Fit five dose-response models to quantal (yes/no) toxicity data by maximum likelihood, get the benchmark dose at a chosen extra risk and its lower limit (BMDL) by profile likelihood, compare models by AIC and goodness of fit, and plot them.

Keep it one tap away for everyday use.

Bookmark Benchmark dose (BMD) calculator?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Counts
  2. 5 models
  3. BMD
  4. Compare
Nothing is uploadedWorks offline once open

For study and teaching, not medical advice. Check with a qualified professional.

Quantal data

Extra risk is the added chance of the effect among those who would not have had it anyway: (P(d) − P(0)) ÷ (1 − P(0)). 10 % is the usual starting point for quantal data in the US EPA's guidance (Benchmark Dose Technical Guidance, 2012; check the official source). Higher multistage degrees allow more curvature.

Download

What it does

The benchmark dose (BMD) approach finds the dose that causes a small, defined increase in the chance of an effect (the benchmark response, BMR), using a curve fitted to all the dose groups rather than a single “no observed effect” dose. Its lower confidence limit, the BMDL, is the usual point of departure in risk assessment. This page fits the five standard models for quantal data (each animal or subject either shows the effect or not) by maximum likelihood, works out the BMD and BMDL for each, and compares the fits.

It is for study and teaching, not medical advice. Regulatory assessments use the official software and guidance; check the official source.

How to use it

  1. Paste the data: one row per dose group with the dose, the number tested and the number affected. Include the control (dose 0) if you have one. Or use Open a file.
  2. Set the dose unit for the labels.
  3. Set the benchmark response as extra risk, (P(d) − P(0)) ÷ (1 − P(0)). 10 % is the usual default for quantal data; 5 % or 1 % are used for some severe effects, but they extrapolate further below the data.
  4. Pick the multistage degree: 1 is the quantal-linear model; 2 and 3 allow more curvature.
  5. Read the table, then use Show to plot one model with its BMD and BMDL, or all five together.

The models

All but probit have a background term g (the response at dose 0, between 0 and 1):

  • Log-logistic: g + (1 − g) / (1 + e^(−a − b·ln d)), slope b ≥ 1.
  • Weibull: g + (1 − g)(1 − e^(−β·d^α)), power α ≥ 1.
  • Gamma: g + (1 − g) × gamma CDF(β·d; α), power α from 1 to 18.
  • Multistage: g + (1 − g)(1 − e^(−β₁d − β₂d² − …)), all β ≥ 0.
  • Probit: Φ(a + b·d).

These limits follow the EPA’s defaults and stop curves from becoming infinitely steep at zero dose. A parameter sitting on its limit is not counted in the AIC.

How the BMDL is found

For each trial value of the BMD, the page refits the model with the BMD held fixed (the profile likelihood). The BMDL is the lowest BMD whose best log-likelihood is within 2.7055 / 2 of the overall maximum, which gives a one-sided 95 % lower limit (2.7055 is the 90th percentile of χ² with 1 degree of freedom).

Worked example

A made-up study has 50 animals at 0, 25, 50, 100 and 200 mg/kg-day, with 1, 4, 9, 20 and 37 affected. All five models fit adequately (p ≥ 0.1). The lowest AIC is Weibull (AIC 215.43), so the page shows Weibull: BMD10 = 34.83 mg/kg-day, BMDL10 = 22.32 mg/kg-day. The others are close: gamma 35.73 / 22.63, multistage (degree 2) 32.94 / 20.94, log-logistic 37.60 / 25.08, and probit, the worst fit (AIC 216.52, p 0.418), 48.09 / 40.81.

Tips

  • Check the scaled residuals near the BMD: values beyond ±2 there signal a poor local fit even when p is fine.
  • A BMD/BMDL ratio above about 5 to 10 means the data pin the BMD down poorly.
  • If no model fits, consider dropping the highest dose (it often saturates) and refitting.

FAQ

Is the log-likelihood the same as in BMDS? It is the binomial log-likelihood without the constant term, so AIC differences between models are the same.

Why is my BMDL missing? The data may be consistent with a BMD near zero, or the curve never reaches the BMR.

Is anything uploaded? No. All fitting runs in this page.

Where the numbers come from

  • Benchmark dose method: K. S. Crump, Fundam. Appl. Toxicol. 4 (1984) 854 and Risk Anal. 15 (1995) 79; model forms, parameter restrictions, extra risk, the p ≥ 0.1 adequacy rule and AIC as in US EPA, Benchmark Dose Technical Guidance (EPA/100/R-12/001, 2012) and its BMDS software (checked 2026-11-09; check the official source). AIC: H. Akaike, IEEE Trans. Autom. Control 19 (1974) 716. Formulas only; no data or tables copied.
  • Fitting written by fibub (Nelder-Mead on bounded transforms, profile likelihood with bisection). Checked in the tests against an independent SciPy implementation (L-BFGS-B with box bounds; SLSQP profile with the BMD as an equality constraint) on the example and 10 random data sets: log-likelihoods to 10⁻¹³, BMDs to 1.3 × 10⁻⁷ and BMDLs to 4 × 10⁻⁸ (relative).
  • The example study is made up.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

LC50 probit analysis #151 Find the LC50 or EC50 from a toxicity test where a number of organisms die or respond at each concentration. Fit a probit or logit line by maximum likelihood, correct for deaths in the control, and get LC10, LC50, LC90 or any other level with 95 % fiducial limits, the slope, a goodness-of-fit test and plots. Species sensitivity distribution #152 Turn toxicity values for many species into one protective concentration. Fit a species sensitivity distribution (log-normal, log-logistic or their AICc average), read off the HC5 or any other HCp with bootstrap limits, see the fraction of species affected at any concentration, and plot every species on the curve. Binding curve fitter #114 Paste ligand concentrations with total and non-specific binding, or a titration signal, and fit one site, one site with non-specific binding, two sites, Hill or tight binding with ligand depletion. Get Kd, Bmax and the Hill coefficient with errors, a model comparison by AICc, the Scatchard plot and an IC50 to Ki converter. Dose-response and ELISA curve fitter (4PL) #29 Fit a four-parameter logistic curve to dose-response or ELISA data. Get the EC50 or IC50 with its 95 % interval and the Hill slope, and read unknown samples off the curve. Drug combination synergy (Bliss, Loewe, CI) #472 Paste a checkerboard dose matrix of % inhibition for two drugs. Get the excess over Bliss independence, the highest single agent and Loewe additivity as heatmaps, single-drug Hill fits, the Chou-Talalay combination index for every well and summary synergy scores. Pharmacokinetics simulator (teaching) #473 See what a regimen does to an invented drug: one- or two-compartment model, IV bolus, IV infusion or oral absorption, repeated at an interval. Draws the concentration-time curve and gives Cmax and Cmin at steady state, the average level, the accumulation ratio and the half-lives. A teaching tool: it never works out an amount to give. Non-compartmental PK analysis (NCA) #474 Paste a measured concentration-time profile and get Cmax, Tmax, AUC0-t by linear or linear-up/log-down trapezoids, the terminal slope lambda_z by best fit or chosen points, half-life, AUC0-inf, % extrapolated, AUMC, MRT, and CL/F and Vz/F from the amount given in your study.