How to Calculate Percent Inhibition from Plate Reader Data Before Fitting IC50
Calculate percent inhibition with control-based formulas, a worked Excel example, and a Labreador workflow that avoids confusing activity with inhibition.
For an assay where signal falls as inhibition increases, percent inhibition is 100 × (H − S) / (H − L), where H is the mean uninhibited control, L is the mean maximal-inhibition control, and S is the sample signal. The control definitions matter more than the arithmetic: a reagent blank does not automatically represent complete inhibition.
This guide takes you from absorbance, fluorescence, or luminescence readings to a normalized response and then to an IC50 fit. It includes a worked spreadsheet example and explains how to use the Labreador Dose-Response module without normalizing the same data twice.
1. Define what your controls actually measure
For a decreasing-signal assay, identify these three well types before calculating anything:
| Well type | What it represents | Role in normalization |
|---|---|---|
| Vehicle control | Assay system with the same solvent, but no test inhibitor | H: 100% activity, 0% inhibition |
| Validated maximal-inhibition control | Assay system with a reference treatment that defines the low-response endpoint | L: 0% activity, 100% inhibition relative to that control |
| Reagent or instrument blank | Background from the detection system without the measured biological activity | Background correction; not automatically L |
For example, no-enzyme wells may be a suitable low endpoint for an enzyme activity assay. In a cell-based assay, no-cell wells measure detection background, but they are not necessarily interchangeable with a treated-cell control. A reference inhibitor may also leave residual activity. In that case, “100% inhibition” on the normalized scale means the reference-control response, not proof that every biological process has stopped.
Use the mean of the relevant control replicates from the same plate. Keep solvent exposure and other assay conditions comparable between controls and samples. The Assay Guidance Manual discusses control selection, assay performance, and compound interference across screening workflows.
2. Calculate percent activity and percent inhibition
For a signal proportional to remaining activity:
Percent activity = 100 × (S − L) / (H − L)
Percent inhibition = 100 − percent activity
= 100 × (H − S) / (H − L)
These equations anchor H at 100% activity and L at 0% activity. They do not assume that the measured low endpoint is zero.
If H and L are identical, the calculation is undefined. If they are close together relative to the variability of the controls, normalization magnifies noise. Do not replace an undefined result with zero or try to rescue a poorly separated plate by dividing by a tiny control range. Review the controls first; our Z′ factor guide explains one way to assess their separation.
Check the response direction. Some inhibition assays produce an increasing signal, such as a reporter that rises when a process is blocked. Do not apply the decreasing-signal formula just because the experiment is called an inhibition assay. Establish which measured endpoint represents no inhibition and which represents maximal inhibition.
3. Worked example: why dividing by the vehicle control can be wrong
Suppose a hypothetical luminescence assay gives these mean control signals:
H = 12,000 RLU (vehicle, uninhibited)
L = 2,000 RLU (maximal-inhibition control)
For a sample with S = 7,000 RLU:
Percent activity = 100 × (7,000 − 2,000) / (12,000 − 2,000)
= 50%
Percent inhibition = 100 − 50 = 50%
Here is a small illustrative dataset, not experimental measurements:
| Concentration (µM) | Sample signal (RLU) | Activity (%) | Inhibition (%) |
|---|---|---|---|
| 0.01 | 11,800 | 98 | 2 |
| 0.03 | 11,300 | 93 | 7 |
| 0.10 | 10,000 | 80 | 20 |
| 0.30 | 7,000 | 50 | 50 |
| 1.00 | 4,000 | 20 | 80 |
| 3.00 | 2,700 | 7 | 93 |
| 10.00 | 2,200 | 2 | 98 |
The shortcut 100 × (1 − S/H) would give 41.67% inhibition for the 7,000 RLU sample, not 50%. It incorrectly treats zero signal as the low endpoint, even though the validated low control is 2,000 RLU.
That shortcut is appropriate only when a zero low endpoint is justified, for example after valid background correction when the maximal-inhibition response is effectively zero.
4. Excel formula for percent inhibition
Arrange your spreadsheet as follows:
- Column A: concentration in µM.
- Column B: sample signal, with the first sample in B2.
- E2: mean vehicle-control signal, here 12000.
- E3: mean maximal-inhibition-control signal, here 2000.
In C2, calculate percent activity:
=100*(B2-$E$3)/($E$2-$E$3)
In D2, calculate percent inhibition:
=100*($E$2-B2)/($E$2-$E$3)
Copy the formulas down. The absolute references keep the control means fixed for each sample row. A division-by-zero error means the control range needs investigation; it is not a zero-inhibition result.
For replicate wells, normalize each reading using the same plate-control means and retain the individual values. You can calculate concentration-level means and SDs for display without discarding the replicate observations needed for fitting.
5. Do you subtract the blank first?
Subtracting the same constant background from samples and both controls does not change two-endpoint normalization:
[(S − B) − (L − B)] / [(H − B) − (L − B)]
= (S − L) / (H − L)
The background B cancels. That does not make blank measurements useless: they help diagnose detection background and may matter for other analyses. It does mean you must be consistent. Subtracting a blank from samples but not from controls changes the result incorrectly.
A single blank value also cannot correct concentration-dependent compound fluorescence, quenching, or interference with the detection chemistry. Such effects need suitable interference controls or an independent assay readout, not another normalization formula.
6. Keep values below 0% or above 100% visible
A sample slightly above H produces negative inhibition. A sample below L produces inhibition above 100%. Either can occur because of ordinary measurement variation; larger deviations can indicate stimulation, toxicity beyond the reference response, or assay interference.
Do not automatically clip every result to 0–100% before fitting. Clipping changes the observations and hides how far they differ from the controls. Keep the original readings, inspect replicate agreement, and document any exclusion using a defensible criterion.
Out-of-range percentages are a reason to investigate, not automatic evidence that a compound is exceptionally potent.
7. Fit IC50 only after deciding what “50%” means
There are two distinct questions:
- Relative IC50: where does the fitted curve reach half of its own response range?
- Control-referenced 50% inhibition: where does the curve cross 50% on the scale defined by your controls?
For a conventional 4PL curve with an activity Top of 100% and Bottom of 0%, those positions coincide. For a partial inhibitor with Top = 100% and Bottom = 60% activity, the midpoint of its fitted response range is 80% activity, or only 20% control-referenced inhibition. The compound never reaches 50% inhibition in that model, even though a relative midpoint can be estimated.
GraphPad's guide to relative versus absolute IC50 explains this distinction. Also state the model: in an asymmetric 5PL parameterization, a parameter named C is not necessarily the concentration at half the fitted response range.
Normalization alone does not force the fitted plateaus to 0 and 100. Fixing plateaus is a separate modelling decision and is justified only when the controls represent the endpoints of the compound response. Nor does normalization create a plateau missing from your experiment. See how to choose concentrations for an IC50 experiment before relying on an extrapolated fit.
8. Analyze the plate in Labreador
The Dose-Response module accepts plate-reader data and provides raw, % of Control, and fold-change analysis options. For a conventional decreasing-signal inhibition assay:
- Import the original plate readings.
- Assign vehicle wells as negative controls and validated maximal-inhibition wells as positive controls. Assign reagent blanks separately if using blank correction.
- Assign treated wells to compounds and concentrations. The module uses µM, so convert concentration units before assigning them.
- Select Inhibition and % of Control.
- Review the normalized values, replicate variation, control separation, and the fitted curve before reporting potency.
Important: in Labreador's inhibition mode, “% of Control” displays remaining activity, not percent inhibition. The negative control is 100% and the positive control is 0%. The 7,000 RLU example therefore appears as 50% activity; the 4,000 RLU example appears as 20% activity, equivalent to 80% inhibition.
Use original readings for this workflow. If you already imported normalized percentages, select Raw to avoid applying control normalization a second time, and keep the response direction consistent with whether those percentages represent activity or inhibition.
Labreador fits 4PL and 5PL models using individual replicate observations and reports fit parameters and confidence intervals. These tools help evaluate a dose-response curve; they cannot establish that your controls are biologically appropriate. Plate-data analysis runs locally in your browser.
Ready to analyze your plate? Open Dose-Response or read the IC50 calculator guide first.
Before reporting a result
- Name the controls defining 0% and 100%, including the reference treatment.
- State whether the plotted values are activity or inhibition.
- Record background correction and concentration units.
- Report the curve model, constraints, replicate design, and uncertainty.
- Distinguish a relative fitted midpoint from control-referenced 50% inhibition.
- Flag missing plateaus, unsupported extrapolation, and detection interference.
If you use Labreador in a publication, please cite:
Helczman, M. (2026). Labreador - Bioassay Analysis Platform (Version 1.6.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.21676846
