IB Maths AI HLLog, Logistic & PiecewisePaper 2 & 3Carrying capacity, S-curve~10 min read
Logistic Models
A logistic model has the form f(x) = L / (1 + Ce−kx) with L, C, k > 0. It produces an S-shaped curve that starts low, grows exponentially in the middle, then levels off at the carrying capacity L. Used for populations limited by resources, drug concentrations approaching a steady state, and product adoption with a saturation ceiling.
📘 What you need to know
Standard form: f(x) = L / (1 + Ce−kx) with positive L, C, k.
L = carrying capacity: the upper horizontal asymptote, the value the model approaches as x → ∞.
C determines the initial value: f(0) = L/(1 + C). Larger C → smaller starting value (more room to grow).
k controls the rate of growth: larger k → steeper S-curve.
Two horizontal asymptotes: y = 0 (lower) and y = L (upper). The curve never touches either.
Always increasing: no max or min, no roots, domain all real numbers.
Half-capacity time: f(x) = L/2 when x = ln C / k — this is the inflection point of the S-curve.
Reading the logistic curve
The S-shape is the signature: three phases. Early on (small x), there’s little to limit growth, so the curve climbs almost like an exponential. In the middle, the growth rate is fastest — the steepest part of the curve, located exactly at half-capacity. As the value approaches L, growth slows and the curve flattens, gradually settling at the upper asymptote. The three parameters control three independent features: L sets the ceiling, C sets the starting point, k sets the steepness.
The y-intercept sits at L/(1 + C); the inflection (where the curve is steepest) sits at exactly half the carrying capacity, at t = ln C / k.
Logistic model at a glancef(x) = L1 + Ce−kxf(0) = L/(1+C) · asymptotes y = 0 and y = L · half-cap at x = ln C/k
Finding the parameters
Three unknowns means you typically need three pieces of information — though often L is given directly as the carrying capacity. Once L is known, use the initial value f(0) = L/(1+C) to find C: solve 1 + C = L/f(0), so C = L/f(0) − 1. Then plug in any third data point and solve for k — the algebra always reduces to taking a log on both sides. To go the other way and find when the function hits a target value, isolate the exponential and apply ln.
Inverting the formula: to solve f(x) = v, rearrange to Ce−kx = (L/v) − 1, then x = (1/k) ln(Cv/(L − v)). Or just feed the equation into your GDC’s solver — both work.
What logistic models capture (and what they don’t)
Logistic models excel for quantities that grow exponentially at first but face a ceiling: populations limited by food or space, market saturation as a product reaches all potential customers, learning curves with a maximum skill level. They fail for quantities that genuinely have no ceiling (like cumulative births in a city over time — only an unbounded model fits) or that decrease, oscillate, or have multiple equilibria. A logistic curve is also strictly monotonic, so it can’t capture seasonal fluctuations or population crashes.
🧭 Recipe — logistic models
Read off L: usually given as the carrying capacity or “long-term value.”
Find C from the initial value: f(0) = L/(1+C) ⇒ C = L/f(0) − 1.
Find k from a later data point: substitute, isolate e−kt, then apply ln.
Forward calculation: to find f(t), substitute directly.
Backward calculation: to find t for a target value, rearrange and apply ln — or use the GDC’s solver.
Worked examples
WE 1
Key features of a logistic model
Given P(t) = 15001 + 9e−0.4t. State: (a) the carrying capacity, (b) P(0), (c) the rate constant k, (d) both horizontal asymptotes.
A logistic model M(t) = 20001 + Ce−0.3t describes a population with initial value 200. Find C.
set M(0) = 200M(0) = 2000/(1 + C·1) = 200isolate 1 + C1 + C = 2000/200 = 10C = 9general rule: C = L/M(0) − 1.
WE 3
Time to reach a target value
Using the model from WE 2 (M(t) = 2000/(1 + 9e−0.3t)), find the time when M(t) = 1000.
set M(t) = 10002000/(1 + 9 e⁻⁰·³ᵗ) = 1000cross-multiply1 + 9 e⁻⁰·³ᵗ = 29 e⁻⁰·³ᵗ = 1e⁻⁰·³ᵗ = 1/9take ln−0.3 t = −ln 9t = ln 9 / 0.3 ≈ 7.32 months1000 = L/2, so this is the half-capacity time t = ln C / k. ✓
WE 4
Bacterial colony — all four operations
A bacterial colony has population B(t) = 5000/(1 + 49e−0.5t), where t is hours. (a) Find the initial population. (b) State the carrying capacity. (c) Find B(10) to 3 s.f. (d) Find when the population first reaches 4000 (3 s.f.).
The concentration (mg/L) of a drug t hours after administration is modelled by C(t) = 80/(1 + 15e−0.8t). (a) Find the initial concentration. (b) State the long-term concentration. (c) Find the time at which the concentration first reaches 60 mg/L (3 s.f.). (d) Find C(5) (3 s.f.).
A new app’s user base U(t) = L/(1 + Ce−kt) follows logistic growth with carrying capacity 50,000. Initially there are 1,000 users; after 3 months there are 5,000 users. (a) Find C. (b) Find k. (c) Find when the platform reaches half its carrying capacity.
(a) use U(0) = 100050000/(1 + C) = 10001 + C = 50C = 49(b) use U(3) = 500050000/(1 + 49 e⁻³ᵏ) = 50001 + 49 e⁻³ᵏ = 10e⁻³ᵏ = 9/49−3 k = ln(9/49)k = ln(49/9)/3 ≈ 0.565(c) half-capacity at U = 2500050000/(1 + 49 e⁻ᵏᵗ) = 25000e⁻ᵏᵗ = 1/49t = ln 49 / kt ≈ ln 49 / 0.565 ≈ 6.89 monthshalf-capacity time = ln C / k — a useful general result.
💡 Top tips
Capacity first: L is usually the easiest parameter to spot (often stated as the long-term value or carrying capacity).
Then C from f(0): the initial value gives C = L/f(0) − 1.
Use ln, not log10, because the model uses e−kx.
Half-capacity gives the inflection: t = ln C / k. It’s where the curve is steepest.
GDC solver: for any backward calculation, feed the equation directly — faster than algebra under pressure.
⚠ Common mistakes
Confusing C with the carrying capacity — L is the capacity, C sets the initial value.
Treating e−kx as negative — it’s a positive number, just always less than 1 for positive x.
Forgetting to flip the inequality after multiplying by a negative when isolating ln.
Using log10 instead of ln — the model uses natural exponential, so natural log is the inverse.
Saying the curve “reaches” L — it only approaches L asymptotically; never touches.
Next up: Piecewise Models — when a single function isn’t enough, stitch together two or more functions over different intervals.
Need help with Logistic Models?
Get 1-on-1 help from an IB examiner who knows exactly what Paper 1 & 2 are looking for.