- The logistic growth model describes growth that starts fast and then slows as it nears a limit, the carrying capacity \(K\).
- The logistic equation is \(\frac{dP}{dt} = rP\left(1 – \frac{P}{K}\right)\), and its solution is \(P(t) = \frac{K}{1 + Ae^{-rt}}\) with \(A = \frac{K – P_0}{P_0}\).
- Growth is fastest when \(P = \frac{K}{2}\), at the inflection point of the S-shaped curve.
- In our case, a campus food-delivery app with 20,000 possible users and 500 at launch spreads fastest after about 6.1 weeks (3,000 new users a week) and reaches 90% of the campus after about 9.8 weeks.
- Exam point: you can find the maximum growth rate and the population at which it happens straight from the differential equation, without solving it.
The case: how fast will a new app spread across a campus?
A start-up launches a food-delivery app at a university with 20,000 students. On launch day 500 students have it installed. Word spreads by recommendation: each user tells friends, and friends install it. Early on, every new user brings in more users, so growth looks exponential. But the campus is finite. Once most students have the app, there are few people left to convince, and growth must slow down.
From the first fortnight of data, the team estimates a growth rate of \(r = 0.6\) per week when the app is new. They want answers to three questions. How many users will they have after 4 and 8 weeks? When will growth be fastest, so they can staff the delivery side in time? And when will 90% of the campus be on board? (The figures are illustrative.)
A pure exponential model, \(P = 500e^{0.6t}\), cannot answer these. After 8 weeks it predicts about 60,800 users, three times the number of students on campus. We need a model with a ceiling built in.
The concept: growth that slows as it nears a limit
In exponential growth, the rate of growth is proportional to the size: \(\frac{dP}{dt} = rP\). Twice as many users means twice as many new users each week, for ever. The logistic model adds a brake. It multiplies the growth rate by the fraction of the market still available, \(1 – \frac{P}{K}\). When \(P\) is small, that fraction is close to 1 and growth is almost exponential. When \(P\) is close to \(K\), the fraction is close to 0 and growth almost stops.
The model was proposed by the Belgian mathematician Pierre-François Verhulst in 1838 to describe population growth.[3] It is now used for animal populations, the spread of rumours and diseases, and the adoption of new products. In marketing and sociology, the S-shaped adoption curve is a central idea in the study of how innovations spread.[5]
Here \(P\) is the size at time \(t\) (users, animals, infected people), \(r\) is the intrinsic growth rate, the rate when \(P\) is small, and \(K\) is the carrying capacity. \(P_0\) is the starting value, and \(A\) is a constant fixed by \(P_0\). The left-hand side is the logistic differential equation; the right-hand side is its solution, found by separating variables and using partial fractions on \(\frac{1}{P(K – P)}\). The solution curve has an S shape: slow start, fast middle, slow finish.
Where does the solution come from? Separate the variables: \(\frac{K\,dP}{P(K – P)} = r\,dt\). Partial fractions give \(\frac{K}{P(K – P)} = \frac{1}{P} + \frac{1}{K – P}\). Integrating, \(\ln P – \ln(K – P) = rt + c\), so \(\frac{P}{K – P} = Ce^{rt}\). Rearranging for \(P\) gives \(P = \frac{K}{1 + Ae^{-rt}}\), with \(A = \frac{1}{C}\). Putting \(t = 0\) gives \(P_0 = \frac{K}{1 + A}\), which is where \(A = \frac{K – P_0}{P_0}\) comes from.
Why this method fits the case
App adoption by recommendation has exactly the two features the logistic model captures. First, growth feeds on itself: the more users there are, the more people hear about the app. That gives the factor \(P\). Second, the market is limited: only students who do not yet have the app can install it. That gives the factor \(1 – \frac{P}{K}\). The carrying capacity is natural here: 20,000 students.
The model also gives a single, useful prediction that a straight-line or exponential model cannot: the moment of fastest growth. For a business, that is the week when demand for delivery drivers rises most quickly, and when server load grows fastest.
The logistic model is not the right tool when the ceiling is not fixed. If the start-up expands to other universities, \(K\) changes over time. It is also a poor fit when growth is driven by advertising rather than word of mouth: then new users arrive even when \(P\) is tiny, and models with a constant external inflow fit better. And the logistic curve is symmetric about its midpoint, which real adoption curves often are not. Treat it as a first model, then check it against data.
Setting it up
Here are the quantities for the campus app.
| Quantity | Symbol | Value | Meaning |
|---|---|---|---|
| Time | \(t\) | weeks since launch | Independent variable |
| Users | \(P(t)\) | number of students with the app | Dependent variable |
| Carrying capacity | \(K\) | 20,000 | All students on campus |
| Starting users | \(P_0\) | 500 | Users at launch |
| Intrinsic growth rate | \(r\) | 0.6 per week | Growth rate while the app is rare |
| Constant | \(A\) | \(\frac{20000 – 500}{500} = 39\) | Fixed by the starting value |
So the model is
Check: at \(t = 0\), \(P = \frac{20000}{40} = 500\). As \(t\) grows, \(e^{-0.6t} \to 0\) and \(P \to 20000\). Both match the case.
Solving it
Find the number of users after 4 weeks and after 8 weeks.
About 4,400 students use the app after 4 weeks and about 15,100 after 8 weeks.
When is the app spreading fastest, and what is the maximum rate? When will 90% of the campus have the app?
Growth peaks at about 3,000 new users a week, around week 6, and 90% of the campus is reached in just under 10 weeks.
Suppose instead that the team did not know \(r\), but observed 4,000 users after 4 weeks. Estimate \(r\) and compare the growth rate at 4,000 users with that at 16,000 users.
A single data point pins down \(r \approx 0.57\), and the growth rate is the same at 20% and 80% of capacity: the logistic curve is symmetric about \(\frac{K}{2}\).
What the answer tells us
The app spreads slowly at first: only about 900 users after one week and 1,600 after two. Then it takes off. Between weeks 4 and 8 it gains more than 10,700 users. The fastest growth, about 3,000 new users a week, comes at roughly week 6, when half the campus has the app. After that, growth slows, and the last 10% of students take a long time to join.
Figure 1 compares the logistic model with the exponential model that ignores the ceiling. The two curves agree for the first two or three weeks, then split sharply.
Reasonableness check. In the first week the logistic model gives an increase from 500 to about 893 users. The exponential model gives \(500e^{0.6} \approx 911\). They should be close at the start, because \(1 – \frac{P}{K}\) is near 1 when \(P\) is small, and they are. Also \(P(t)\) never exceeds 20,000, as it must not.
Sensitivity. The two parameters do different jobs. The carrying capacity \(K\) sets the height of the S; the growth rate \(r\) sets how steep it is. If the app spread more slowly, with \(r = 0.4\), the peak rate would fall to \(\frac{0.4 \times 20000}{4} = 2000\) a week and arrive at about week 9.2 instead of 6.1. If the start-up opened to 30,000 students and staff, with \(r = 0.6\) and the same 500 starting users, the peak rate would rise to 4,500 a week and arrive at about week 6.8. Getting \(K\) right matters most for long-run planning; getting \(r\) right matters most for timing.
The Mathematics Made Simple textbook covers exponential and logistic models together, with the derivation of the solution and graphs of S-curves. For practice with carrying capacity, inflection points and fitting the growth rate to data, use the Mathematics Made Simple Practice Questions book.
Practice questions
Have a go at each question, then reveal the worked answer.
EasyQ1. A population satisfies \(\frac{dP}{dt} = 0.8P\left(1 – \frac{P}{5000}\right)\). State the carrying capacity and the population at which it grows fastest. Show worked answer
Carrying capacity: 5,000.
Fastest growth at \(P = \frac{K}{2} = 2500\), where \(\frac{dP}{dt} = \frac{0.8 \times 5000}{4} = 1000\).
EasyQ2. For \(P(t) = \frac{1000}{1 + 9e^{-0.5t}}\), find \(P(0)\) and \(\lim_{t\to\infty} P(t)\). Show worked answer
As \(t \to \infty\), \(e^{-0.5t} \to 0\), so \(P \to \frac{1000}{1} = 1000\).
Starting value 100, carrying capacity 1,000.
MediumQ3. For \(P(t) = \frac{1000}{1 + 9e^{-0.5t}}\), find the time at which \(P = 750\). Show worked answer
\(9e^{-0.5t} = \frac{1}{3}\), so \(e^{-0.5t} = \frac{1}{27}\).
\(t = 2\ln 27 \approx 6.59\).
MediumQ4. A logistic model has \(K = 2000\) and \(P_0 = 100\). After 5 years \(P = 500\). Find \(r\). Show worked answer
\(500 = \frac{2000}{1 + 19e^{-5r}}\) gives \(1 + 19e^{-5r} = 4\), so \(e^{-5r} = \frac{3}{19}\).
\(r = \frac{1}{5}\ln\frac{19}{3} \approx 0.369\) per year.
ExamQ5. The number of people \(N\) who have heard a rumour satisfies \(\frac{dN}{dt} = 0.5N\left(1 – \frac{N}{1000}\right)\), with \(N(0) = 100\), \(t\) in hours. (a) Show that \(N = \frac{1000}{1 + 9e^{-0.5t}}\). (b) Find the time at which the rumour is spreading fastest. (c) Find \(N(4)\). [8 marks] Show worked answer
Partial fractions: \(\frac{1000}{N(1000 – N)} = \frac{1}{N} + \frac{1}{1000 – N}\). [M1]
\(\ln N – \ln(1000 – N) = 0.5t + c\). [A1]
\(t = 0\), \(N = 100\): \(c = \ln\frac{100}{900} = -\ln 9\). So \(\frac{N}{1000 – N} = \frac{1}{9}e^{0.5t}\). [M1]
Rearrange: \(N = \frac{1000}{1 + 9e^{-0.5t}}\). [A1]
(b) Fastest when \(N = 500\): \(9e^{-0.5t} = 1\), so \(t = 2\ln 9 \approx 4.39\) hours. [M1 A1]
(c) \(N(4) = \frac{1000}{1 + 9e^{-2}} \approx 451\) people. [B1]
Frequently asked questions
What is the difference between exponential and logistic growth?
Exponential growth has a constant relative growth rate \(r\), so it grows without limit. Logistic growth has a relative growth rate \(r\left(1 – \frac{P}{K}\right)\) that falls to zero as \(P\) approaches \(K\). For small \(P\) the two are almost the same; the difference shows up as \(P\) grows.
Why is growth fastest at half the carrying capacity?
The rate \(rP\left(1 – \frac{P}{K}\right)\) is a product of two factors: the number of users who can spread the product and the share of people who have not yet adopted it. One rises as \(P\) rises; the other falls. Their product is a downward parabola in \(P\), with its peak half-way between the roots \(P = 0\) and \(P = K\).
What happens if the starting value is above the carrying capacity?
Then \(1 – \frac{P}{K}\) is negative, so \(\frac{dP}{dt} < 0\) and the population falls towards \(K\). The solution formula still works: \(A\) is negative, and the curve decreases to \(K\) without an inflection point.
How do I estimate \(K\) and \(r\) from real data?
With two or three data points you can solve for the parameters as in the third worked example. With many data points, statisticians fit the curve by least squares using software. A useful check: the relative growth rate \(\frac{1}{P}\frac{dP}{dt}\) should fall roughly in a straight line as \(P\) increases, hitting zero at \(K\).
References
- College Board. AP Calculus AB and BC Course and Exam Description. New York: College Board.
- International Baccalaureate Organization (2019). Mathematics: analysis and approaches guide. Cardiff: IBO.
- Strang, G. & Herman, E. (2016). Calculus Volume 2. Houston, TX: OpenStax. openstax.org
- Cambridge Assessment International Education. Cambridge International AS & A Level Mathematics 9709: Syllabus for examination in 2026 and 2027. cambridgeinternational.org
- Rogers, E. M. (2003). Diffusion of Innovations, 5th edn. New York: Free Press.

