Logistic growth


You have likely studied exponential growth and even modeled populations using exponential functions. In this section we'll look at a special kind of exponential function called the logistic function.

The logistic function is a function that models the exponential growth of a population, but also considers factors like the carrying capacity of land: A certain region simply won't support unlimited growth because as one population grows, its resources diminish. So a logistic function puts a limit on growth.

Below is a comparison of exponential and logistic growth curves with some features highlighted.

Exponential growth is unchecked growth. Exponential functions aren’t realistic models of population growth and other phenomena.

The logistic function is exponential for early times, but the growth slows as it reaches some limit. In this hypothetical case, the limit seems to be about 85 individuals; the function approaches a horizontal asymptote at P(t) = 85..

The logistic function

The logistic function can be written in a number of ways that are all only subtly different. In this version, n(t) is the population ("number") as a function of time, t. to is the initial time, and the term (t - to) is just a flexible horizontal translation of the logistic function. k is a parameter that affects the rate of exponential growth. L is the horizontal asymptote or the limit on the size of a population.


An example: Spreading a rumor


One clever example of logistic growth is the spreading of a rumor in a population. Suppose that one person knows a secret, and once a day, anyone who knows the secret can share it with one other person, but without knowing whether that person already knows it. Well, early on, it's unlikely that a teller will run across someone who already knows the secret, but later, when more people know, it's less likely to find a person who doesn't know.

In this example, I assumed we have a group of 20 people, and that person #1 knows the secret to begin with. Then, on each "round," I generated a random number (using a spreadsheet) between 1 and 20, to choose whom to tell the secret next. the results are in the table below.

In round one, 1 told 4. In round two, 1 and 4 told 20 and 6, for a total of four secret-knowers. In round three, those four told four new people to increase the total to 8.

But notice that in round four, we begin to tell people who already know the secret, so the accumulation of secret knowers begins to slow down.

That continues until poor #14 finally learns the secret after eight rounds. The results are plotted here and you can see that it's just like our logistic growth curves.




Limits to growth


One important feature of the logistic function is it's behavior at large values of the independent variable. Here we'll define a population function n(t) as a logistic function.

There are two adjustable parameters in this function, L and k. These are a vertical scaling parameter ( L ) and a horizontal scaling parameter ( k ) that allow us to stretch or compress such a function to fit our data.

We're interested in the limiting behavior as our variable t (for time) increases to infinity:

Now if we look at the part of the function that contains t, and replace the negative exponential with a fraction, we see that the fraction tends toward zero as t gets large because 1 over a very large number tends toward zero as the denominator grows:

So the overall limit of the function as t gets very large (after a sufficient time has passed) is

So the limit of the function is the numerator, L. This makes the limiting value of a logistic function easy to find, and it makes a logistic function relatively easy to write given enough data.


Transformations of the logistic equation


Here is a simple logistic function for a population as a function of time:

By moving the sliders, you can see how the curve changes when you change the A parameter and the B parameter.

A changes the maximum population, the limit of the function as time gets large, and B changes the curvature of the function; small values ease the curves and large values sharpen them.

By including a simple vertical translation (which would be the baseline population), this logistic curve can be fit to real data by adjusting the parameters.

This simple function is good up to a maximum limiting population of 100, just for illustration purposes.


Example 1

How long will it take a population to reach 18,000 if its growth is modeled by the function


Solution: First we'll substitute in the only piece of information we have, namely that P(t) at some t (we'll assume that's in years) is 18,000:

Multiplying both sides by the denominator of the fraction gives us

And dividing by 18,000 on both sides gives

Next we subtract 1 to get

Now if we take the natural log (ln) of both sides, remembering that ln(x) and ex are inverse functions, we "release" the exponent to get

Now dividing by -0.12 and adding 50 to each side gives us the time

The arithmetic give us

here is a graph of this logistic function along with our solution (dashed line).


Example 2

A population of 5,000 is exposed to a virus that spreads according to the logistic function

    (t in days)

How many people will be infected after 5 days, and how long will it take for 45% of the population to be infected?


Solution: First we'll plug in t = 5 days to solve the first part of the problem:

That's pretty straightforward. Just make sure you organize your calculation and do it in simple steps. Now for the second part. First, 45% of our population is

Now if we plug that in for n(t), we have to solve this equation for the time:

Multiplying both sides by the denominator, followed by division of both sides by 2250 gives us

Subtract the 1 from both sides:

... and divide by 4999 to get:

Taking the natural log of both sides releases the -0.8t from the exponent:

Finally, dividing by -0.8 gives us the number of days until 45% of the population is infected.

Such models and calculations are often employed to track and predict the spread of epidemic diseases.

You can help


This site is a one-person operation. If you can manage it, I'd appreciate anything you could give to help defray the cost of keeping up the domain name, server, search service and my time.


Creative Commons License   optimized for firefox
xaktly.com by Dr. Jeff Cruzan is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. © 2012, Jeff Cruzan. All text and images on this website not specifically attributed to another source were created by me and I reserve all rights as to their use. Any opinions expressed on this website are entirely mine, and do not necessarily reflect the views of any of my employers. Please feel free to send any questions or comments to jeff.cruzan@verizon.net.