Integral Calculus and Differential Equations › The Logistic Equation: Bounded Growth

Michael BrenndoerferOctober 28, 20255 min read
Quantitative FinanceAll chapters
Part 1 of 15Mathematical Foundations
Chapter 7Integral Calculus and Differential Equations › The Logistic Equation: Bounded Growth
Reading section 8 of 14 · The Logistic Equation: Bounded Growth · 5 minSection 8 of 14 · 5 min

Book contents

Section 8 of 14 · 5 min read

Integral Calculus and Differential Equations › The Logistic Equation: Bounded GrowthOne section · Sections in this chapter8 / 14 ↓
Reading tools Definitions & inline links

Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.

Article links

Make inline references clickable

A fixed carrying capacity can be a useful assumption when modeling adoption in a finite market. The logistic equation reduces proportional growth as adoption approaches that capacity; it does not identify an empirical competition or resource mechanism by itself:

dPdt=rP(1−PK)\frac{dP}{dt} = rP\left(1 - \frac{P}{K}\right)

where:

  • PP: the quantity being modeled (population, market share, number or fraction of adopters)
  • tt: time
  • rr: intrinsic growth rate (growth rate when PP is small)
  • KK: carrying capacity (maximum sustainable value)
  • (1−P/K)(1 - P/K): saturation factor that approaches zero as PP approaches KK

For r>0r>0 and 0<P<K0<P<K, the proportional rate P′/P=r(1−P/K)P'/P=r(1-P/K) falls as PP rises. Absolute growth P′=rP(1−P/K)P'=rP(1-P/K) instead increases up to K/2K/2 and decreases afterward. At P=KP=K, growth is zero.

Logistic Growth

When PP is small relative to KK, the model is close to exponential growth. Proportional growth decreases as PP increases, while absolute growth peaks at K/2K/2 and tends to zero near capacity.

Assume K>0K>0, r>0r>0, and 0<P0<K0<P_0<K for an increasing path. A future accelerating-then-decelerating S-shaped segment additionally requires P0<K/2P_0<K/2. If P0≥K/2P_0\ge K/2, the future starts at or beyond the inflection. P0=0P_0=0 is an equilibrium, while P0>KP_0>K decreases toward KK from above.

Under 0<P0<K0<P_0<K, the logistic equation has the analytical solution:

P(t)=K1+(K−P0P0)e−rtP(t) = \frac{K}{1 + \left(\frac{K - P_0}{P_0}\right)e^{-rt}}

where:

  • P(t)P(t): quantity at time tt
  • P0P_0: initial quantity at t=0t = 0
  • KK: carrying capacity
  • rr: intrinsic growth rate
  • (K−P0)/P0(K - P_0)/P_0: ratio determining how far the initial value is from capacity

The full logistic solution is sigmoid on a linear vertical scale. The example starts at P0=0.01KP_0=0.01K, so its future includes both sides of the inflection. Its comparison figure uses a logarithmic vertical axis to retain the unmodified exponential curve; that geometry is not the ordinary-scale S shape. As t→∞t\to\infty, the exponential term tends to zero and P(t)P(t) approaches KK.

An S-shaped curve can model technology adoption, market penetration, or the spread of a financial product when a fixed carrying capacity is a reasonable assumption. In that model, early adoption is close to exponential, the pool of potential new adopters shrinks, and adoption approaches the specified capacity. The curve is a modeling choice, not a historical claim that every product follows a logistic path.

In[30]:
Code
import numpy as np


def logistic_growth(t, P0, r, K):
    """Analytical solution to the logistic equation."""
    if not np.isfinite([K, r, P0]).all() or K <= 0 or r <= 0 or not 0 < P0 < K:
        raise ValueError("Require K > 0, r > 0, and 0 < P0 < K")
    return K / (1 + ((K - P0) / P0) * np.exp(-r * t))


# Model market adoption of a new financial product
P0 = 1000  # Initial adopters
K = 100000  # Market capacity (100,000 potential customers)
r = 0.5  # Growth rate

t = np.linspace(0, 20, 200)
P = logistic_growth(t, P0, r, K)

# Compare with exponential growth
P_exponential = P0 * np.exp(r * t)
Out[31]:
Visualization
Line chart on a logarithmic vertical axis comparing a logistic curve that levels near 100,000 adopters with an exponential curve that continues above it.
Logistic versus exponential growth on a logarithmic vertical scale. Logistic growth approaches market capacity, whereas the unmodified exponential curve continues increasing.

The displayed model starts with nearly exponential proportional growth. Absolute adoption rises to its maximum at P=K/2P=K/2 and then falls. For 0<P0<K/20<P_0<K/2, that future inflection occurs at:

Out[32]:
Console
Market adoption analysis:
  Initial adopters: 1,000
  Market capacity: 100,000
  Inflection point: 50,000.0 adopters at t = 9.2 years
  Time to reach 50% capacity: 9.2 years
  Time to reach 90% capacity: 13.6 years
Out[33]:
Visualization
Plot showing the logistic growth rate dP/dt as a function of P, with maximum at K/2.
Growth rate in the logistic model peaks at the inflection point (P = K/2) and declines toward zero as the market saturates.