IC50 Fitting: Why You Need 4-Parameter Logistic, Not Simple Linear Interpolation
Linear interpolation of dose-response points distorts potency estimates. How non-linear least-squares 4PL regression recovers true IC50, Hill slope and R².
An IC50 read off a dose-response curve by eye, or interpolated linearly between the two points either side of 50% inhibition, is routinely wrong by a factor of two or more. Here is why, and what to do instead.
**The short answer.** Dose-response is sigmoidal on a log-dose axis, not linear. Fitting it with a four-parameter logistic model estimates the IC50 from every point on the curve simultaneously, and returns a confidence interval. Linear interpolation uses two points, ignores the rest, and returns a number with no uncertainty attached.
**The model.**
y = Bottom + (Top − Bottom) / (1 + 10^((log IC50 − x) × HillSlope))
Four parameters, each with a physical meaning:
**Top** — response with no inhibitor. Should match your vehicle controls. If the fitted Top is far from your measured control mean, the curve is telling you something is wrong before you even look at the IC50.
**Bottom** — response at saturating inhibitor. For a full antagonist this approaches your positive control. For a partial one it plateaus above it, and that plateau height is real pharmacology, not noise.
**IC50** — the concentration producing a response exactly halfway between Top and Bottom. Note "halfway between Top and Bottom", not "50% of control". Those are the same number only when Bottom is zero, and Bottom is usually not zero.
**Hill slope** — the steepness of the transition. Around −1 for simple single-site binding. Steeper than −1.5 suggests positive cooperativity, multiple binding sites, or an off-target cytotoxic effect stacking on top of your intended mechanism. Shallower than −0.5 often means a heterogeneous population, or a compound with poor solubility at the top of your range.
**Why linear interpolation fails, with numbers.**
Take a well-behaved curve: Top 100, Bottom 0, true IC50 1 µM, Hill slope −1. Suppose your dilution series lands at 0.3 µM and 3 µM, which give responses of 77% and 25% respectively.
Interpolating linearly between those two points to find where the response crosses 50%:
0.3 + (3 − 0.3) × (77 − 50) / (77 − 25) = 0.3 + 2.7 × 0.519 = 1.70 µM
The true IC50 is 1.0 µM. Linear interpolation on a linear concentration axis returned 1.70 — a 70% overestimate, from clean, noise-free data on a textbook curve. The error comes entirely from treating a log-sigmoid as a straight line across a tenfold concentration span.
Interpolating on a log axis is better but still biased, because the curve is sigmoid rather than log-linear: it flattens at both ends and is only near-linear through the middle. A 4PL fit recovers 1.00 µM exactly, because it uses the shape of the whole curve.
**When you need five parameters.** The 4PL assumes the curve is symmetric about its inflection point. Many real curves are not — receptor systems with cooperative binding, and most cell-viability assays where a secondary cytotoxic mechanism kicks in at high dose, are visibly asymmetric.
The 5PL adds an asymmetry factor. Fit both and compare with an F-test or AIC. If the 5PL does not improve the fit significantly, use the 4PL: an extra parameter fitted to noise buys you a better R² and a worse estimate.
**Do not use R² to judge a non-linear fit.** This is the most common misreading of a dose-response result.
R² is designed for linear regression. On a sigmoid it is almost always high — 0.95+ — even when the fit is poor, because most of the variance in y is explained simply by the curve going from high to low. A curve that has completely missed the plateau, or converged on an IC50 outside your tested range, will still show R² = 0.97.
Look at three things instead. Are the residuals randomly scattered around zero, or do they show systematic curvature? Is the 95% confidence interval on the IC50 narrow enough to be useful? And does the IC50 sit inside the concentration range you actually tested?
That last one deserves emphasis. If your fitted IC50 is 40 nM and your lowest tested concentration was 100 nM, the model has extrapolated. The number is a guess about a region you did not measure. Report it as a bound — "IC50 < 100 nM" — and repeat the experiment with a lower range.
**Outliers: use ROUT, not eyeballs.** Plate assays produce genuine artefacts — bubbles, dispensing failures, edge effects from evaporation. Removing them by eye is unblinded data manipulation, and reviewers are increasingly asking how points were excluded.
The ROUT method (Motulsky & Brown 2006) fits the curve robustly, then applies a false discovery rate criterion to the residuals to identify outliers. At Q = 1% you accept a 1% chance of falsely removing a good point. It is defensible because the rule was fixed before you looked at the data, and it is reproducible because anyone re-running it gets the same exclusions.
Report the criterion and how many points it removed. "Two of 48 points excluded by ROUT (Q = 1%)" is a complete answer to the question.
**Replicates on a plate are usually technical.** Three wells at the same concentration on the same plate, from the same dilution series, are technical replicates — they share every source of error except pipetting into the final well. They tell you about your dispensing, not about the compound.
An IC50 with a confidence interval derived from technical replicates will look far more precise than it is. For a potency estimate you can quote, you need independent experiments: fresh dilution series, different days, ideally different cell passages. Fit each independently, then report the geometric mean of the IC50s with the spread across experiments.
Geometric mean, not arithmetic. IC50 values are log-normally distributed; averaging them on a linear scale is dominated by the largest value.
**Practical design notes.** Aim for at least 8 concentrations spanning at least three logs, with the expected IC50 near the middle. Include a true zero-inhibitor control and a saturating control so Top and Bottom are anchored by data rather than by extrapolation. Space concentrations evenly on a log scale — a 1:3 dilution series covers more useful ground than 1:2 for the same number of wells.
**What SciKeep does with this.** The 4PL tool fits by non-linear least squares with the Levenberg–Marquardt algorithm, reports all four parameters with confidence intervals, offers a 5PL comparison, and applies ROUT outlier detection at a Q you set before fitting.
It flags the failure modes explicitly: an IC50 outside the tested range, a Hill slope steep enough to suggest an off-target effect, a fitted Top far from your measured controls, and a plateau that was never reached. Those flags are the point. A number without them is a number you cannot defend.
**References.**
Sebaugh JL (2011). Guidelines for accurate EC50/IC50 estimation. Pharmaceutical Statistics 10(2):128–134. doi:10.1002/pst.426
Motulsky HJ, Brown RE (2006). Detecting outliers when fitting data with nonlinear regression — a new method based on robust nonlinear regression and the false discovery rate. BMC Bioinformatics 7:123. doi:10.1186/1471-2105-7-123
Motulsky HJ, Christopoulos A (2004). Fitting Models to Biological Data Using Linear and Nonlinear Regression. Oxford University Press.
Gadagkar SR, Call GB (2015). Computational tools for fitting the Hill equation to dose-response curves. Journal of Pharmacological and Toxicological Methods 71:68–76. doi:10.1016/j.vascn.2014.08.006