qPCR Amplification Efficiency Calculator
Amplification efficiency is how close your qPCR comes to doubling the target every cycle. You measure it from a standard curve: run a dilution series, plot Cq against the log10 of concentration, and take the slope. Efficiency = 10^(−1/slope) − 1; a slope of −3.32 is a perfect doubling (100%), and 90–110% is the range most assays accept. This calculator does the regression for you and reports the slope, intercept, R² and per-cycle amplification factor alongside the efficiency, with warnings when the curve is too poor to trust.
Every relative-quantification number a qPCR produces rests on an assumption: that the reaction amplifies the target by the same factor in every cycle, and ideally that the factor is 2. When that assumption breaks, fold-change results are quietly wrong, and the only way to know is to measure efficiency from a standard curve. This page is part of the PCR & qPCR calculator set and it does not just print an efficiency percentage — it shows the slope, the fit quality and the per-cycle amplification factor so you can judge whether the number is worth using.
A standard curve is a dilution series of a known template, each point run in the same assay. Because amplification is exponential, the cycle at which each dilution crosses the threshold (the Cq) moves later by a constant amount for each fixed fold-dilution, so Cq is linear in the log of the starting concentration. Fit a straight line to Cq versus log10(concentration) and the slope encodes the efficiency. A ten-fold dilution series with perfect doubling shifts Cq by log10(2)×... exactly 3.32 cycles per ten-fold step, giving a slope of −3.32.
Where does −3.32 come from? If each cycle multiplies the target by a factor A, then after n cycles you have N = N0·Aⁿ, and the threshold is crossed when N reaches a fixed level, so Cq = −log10(N0)/log10(A) + constant. The slope of Cq against log10(N0) is therefore −1/log10(A). For perfect doubling A = 2, and −1/log10(2) = −3.3219. Inverting that gives A = 10^(−1/slope) and efficiency E = A − 1, reported as a percentage. This is a mathematical identity, not an empirical constant, which is why the tool can show the whole chain from your points to the percentage.
Efficiency outside 90–110% is a red flag, not a rounding detail. Below 90% something is suppressing the reaction — inhibitors carried over from the template, sub-optimal primer design or a degrading reagent; above 110% you usually have a non-specific product or primer-dimer adding fluorescence, or a pipetting error across the series. A low R² tells a different story: the points are not collinear, so the slope itself is unreliable no matter what percentage it implies. This calculator warns on both, and the dilution series you feed it should be prepared carefully — the serial dilution calculator helps you lay one out, and the primer Tm calculator is where to go when low efficiency points back at the primers.
qPCR Amplification Efficiency Calculator
How to use the qpcr efficiency calculator
Run a dilution series of a known template in your assay — at least three points, ideally four to six spanning the dynamic range, each in replicate.
Enter each point on its own line in the Standard-curve points box as "concentration, Cq", for example 1000000, 20. The concentration can be in any consistent unit (copies/µL, ng/µL, or even the dilution factor) because only the log-ratios matter.
Use the same units for every point. Mixing ng/µL on one line with a dilution factor on another will produce a meaningless slope.
Press Calculate. The primary card is the amplification efficiency as a percentage.
Read the supporting cards: the slope, the intercept, the R² of the fit and the amplification factor per cycle (2.0 = perfect doubling). Together they tell you not just the efficiency but whether to believe it.
Heed any warning. Efficiency outside 90–110% or an R² below 0.98 means the curve is not fit for quantification — investigate before using the number.
qPCR Amplification Efficiency formula
Variables and units
| Symbol | Meaning | Unit |
|---|---|---|
| slope | Change in Cq per log10 unit of concentration | — |
| intercept | Cq at log10(conc) = 0 | cycles |
| A | Amplification factor per cycle (2.0 = doubling) | × |
| E | Amplification efficiency (A − 1) | % |
| R² | Goodness of fit of the standard curve | — |
| Cq | Quantification cycle (threshold crossing) | cycles |
How qpcr efficiency is calculated
- Parse each line into a concentration and a Cq; reject the input if fewer than three points are given or a concentration is zero or negative.
- Take x = log10(concentration) and y = Cq for every point.
- Fit y = slope·x + intercept by ordinary least squares and compute R².
- Convert the slope to a per-cycle amplification factor: A = 10^(−1/slope).
- Efficiency = (A − 1) × 100%.
- Warn if the efficiency falls outside 90–110%, or if R² is below 0.98.
Worked laboratory examples
Example 1 — A perfect ten-fold series
Given: points (1e6, 20), (1e5, 23.32), (1e4, 26.64), (1e3, 29.97), (1e2, 33.29)
- Each ten-fold dilution moves Cq later by about 3.32 cycles — the signature of doubling.
- The OLS slope is −3.32 and R² is 1.0.
- A = 10^(−1/−3.32) = 10^0.301 = 2.00, so E = (2.00 − 1) × 100 = 100%.
Result: Efficiency 100%, slope −3.32, R² ≈ 1.0
Example 2 — A slightly inefficient assay
Given: a series whose OLS slope is −3.6
- A = 10^(−1/−3.6) = 10^0.2778 = 1.896.
- E = (1.896 − 1) × 100 = 89.6%.
- That sits just below the 90% floor, so the tool warns: check primers, template quality and the dilution series.
Result: Efficiency ≈ 89.6% — flagged as too low
Example 3 — Reading the slope window
Given: you want to know which slopes pass QC
- 100% efficiency is slope −3.32.
- 90% efficiency: A = 1.9, slope = −1/log10(1.9) = −3.58.
- 110% efficiency: A = 2.1, slope = −1/log10(2.1) = −3.10.
- So an acceptable slope runs from about −3.58 to −3.10.
Result: Accept slopes between −3.58 (90%) and −3.10 (110%)
Example 4 — Good efficiency, bad fit
Given: a series with slope −3.35 but scattered points, R² = 0.94
- A = 10^(−1/−3.35) = 1.98, E ≈ 98% — which looks fine.
- But R² = 0.94 is below the 0.98 threshold, so the slope is poorly determined.
- The tool warns on linearity: a high efficiency from a scattered curve is not trustworthy.
Result: E ≈ 98% but R² 0.94 — flagged as unreliable
Want the reasoning behind the numbers? Read How to Calculate qPCR Efficiency.
How to interpret the result
The efficiency percentage is only meaningful next to the fit that produced it. A slope of −3.32 with R² = 0.999 is a textbook assay; the same slope with R² = 0.90 is a coincidence resting on noisy points. That is why this calculator reports slope, intercept, R² and the per-cycle amplification factor together rather than the percentage alone.
The per-cycle amplification factor is the most intuitive of the outputs: 2.0 means every cycle exactly doubles the target, 1.9 means it multiplies by 1.9. Efficiency is just that factor minus one, expressed as a percentage, so "95% efficient" and "amplifies 1.95-fold per cycle" are the same statement.
When efficiency is below 90%, suspect inhibition or primer problems: carry-over of ethanol, salts or chaotropic agents from the template, a primer with secondary structure or a bad Tm, or degraded reagents. Re-run with a cleaner template and better-designed primers — the primer Tm calculator and the DNA concentration calculator help you standardise the input.
When efficiency is above 110%, suspect that something other than your target is fluorescing — primer-dimer or a non-specific product amplifying alongside it, or a dilution series where the most concentrated points are inhibited and pull the slope shallow. A melt curve or gel will usually reveal the extra product.
Assumptions
- Amplification is exponential and the threshold sits inside the exponential phase for every point.
- A single specific product generates the fluorescence signal — no primer-dimer or non-specific amplification.
- The concentration values are on a consistent scale, so their log-ratios are meaningful.
- The Cq values are comparable across points (same threshold, same run conditions).
- Ordinary least squares is an adequate fit for the standard curve over the range entered.
Limitations
- The estimate is only as good as the dilution series — few points, narrow range or poor pipetting all distort the slope.
- A high R² shows collinearity, not that the efficiency is biologically correct or the assay specific.
- This tool reports slope-based efficiency only; it does not perform ΔΔCq relative quantification or copy-number assignment.
- Inhibition that affects the concentrated points more than the dilute ones bends the curve and biases the slope.
Common mistakes
- Using too few points or too narrow a dilution range, so the slope is poorly determined even when R² looks acceptable.
- Mixing concentration units across points (ng/µL on one line, a dilution factor on another), which makes the slope meaningless.
- Accepting a high efficiency without checking R², or accepting a good R² without checking the efficiency is in range.
- Blaming the calculator for an out-of-range efficiency instead of investigating inhibition or non-specific product.
- Setting the threshold inconsistently across the run, which shifts Cq values and corrupts the slope.
FAQ
What is a good qPCR efficiency?
Why is a slope of −3.32 equal to 100% efficiency?
How many standard-curve points do I need?
What does a low R² mean?
My efficiency is over 100% — is that good?
Does this calculator do ΔΔCq relative quantification?
Scientific Sources
- Wikipedia — Quantitative PCR (efficiency and the 2-fold / 1-Cq relation) · Tier 3 source
- Wikipedia — Real-time polymerase chain reaction (standard-curve slope determines efficiency) · Tier 3 source
- GenScript — PCR protocol (reaction conditions context) · Tier 2 source
External links open in a new tab and carry rel="nofollow". We cite primary references (NIST, NIH/NCBI, peer-reviewed papers) and established manufacturer technical documentation (NEB, Thermo Fisher, Promega, IDT). Calculated results are estimates; your protocol and manufacturer guidance take precedence.
Last reviewed: 2026-09 · Method version: 1.0