---
id: wiki-2026-0508-exponential-growth
title: Exponential Growth
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [exponential, compound growth, doubling time, k-factor, viral coefficient, Moore's law]
duplicate_of: none
source_trust_level: A
confidence_score: 0.95
verification_status: applied
tags: [math, growth, exponential, viral, compound, scaling, doubling-time]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: Math / Python
  applicable_to: [Growth, Modeling, Finance, Tech Forecast]
---

# Exponential Growth

## 매 한 줄
> **"매 N(t) = N₀ · e^(rt) — 매 rate ∝ size"**. 매 doubling time = ln(2)/r. 매 famous: Moore's law, COVID, viral, compound interest, ML scaling. 매 modern: 매 sigmoid (logistic) 의 의 의 cap.

## 매 핵심

### 매 form
- **Continuous**: N(t) = N₀ · e^(rt).
- **Discrete**: N_t = N₀ · (1+r)^t.
- **Doubling time**: t₂ = ln(2)/r ≈ 0.693/r.
- **Rule of 72**: 매 % rate 의 의 의 72 의 divide.

### 매 응용
1. **Population**: 매 unconstrained.
2. **Compound interest**.
3. **Moore's law**: 매 doubling 18-24mo.
4. **Viral spread**: 매 R0 > 1.
5. **Startup growth**: 매 viral coefficient k.
6. **ML scaling laws** (Hoffmann, Kaplan).
7. **AGI timeline** (controversial).

### 매 cap (logistic)
- 매 real world 의 의 logistic 의 settle (carrying capacity).
- 매 dN/dt = rN(1 - N/K).

### 매 sub-exponential alternatives
- Linear: y = a + bt.
- Polynomial: y = a + bt^n.
- Logistic: 매 S-curve.
- Power-law: y = at^b.

## 💻 패턴

### Doubling time
```python
import math
def doubling_time(growth_rate_per_period):
    return math.log(2) / growth_rate_per_period

# 매 5% per year
print(doubling_time(0.05))  # 매 ~13.86 years
# 매 Rule of 72: 72/5 = 14.4 (close)
```

### Viral coefficient (k-factor)
```python
def k_factor(invites_per_user, conversion_rate):
    return invites_per_user * conversion_rate

def viral_growth(initial, k, cycles):
    """매 k > 1 → exponential."""
    return [initial * (k ** c) for c in range(cycles)]
```

### Compound interest
```python
def compound(principal, rate, periods, n_compoundings_per_period=12):
    return principal * (1 + rate / n_compoundings_per_period) ** (n_compoundings_per_period * periods)

def continuous_compound(principal, rate, time):
    return principal * math.exp(rate * time)
```

### Logistic (real-world cap)
```python
import numpy as np
from scipy.integrate import odeint

def logistic_growth(N, t, r, K):
    return r * N * (1 - N / K)

t = np.linspace(0, 50, 500)
N = odeint(logistic_growth, 10, t, args=(0.3, 1000))
```

### Detect exponential vs not
```python
def is_exponential(timeseries):
    """매 log(y) 의 linear 의 fit?"""
    log_y = np.log(np.maximum(timeseries, 1e-9))
    t = np.arange(len(log_y))
    r2 = np.corrcoef(t, log_y)[0, 1] ** 2
    return r2 > 0.95
```

### Fit growth rate
```python
from scipy.optimize import curve_fit

def exp_func(t, N0, r):
    return N0 * np.exp(r * t)

def fit_exp(t, y):
    popt, _ = curve_fit(exp_func, t, y, p0=[y[0], 0.1])
    return {'N0': popt[0], 'r': popt[1], 'doubling_time': math.log(2) / popt[1]}
```

### Moore's law forecast
```python
def moores_forecast(transistor_count_now, year_now, year_target):
    years = year_target - year_now
    return transistor_count_now * 2 ** (years / 1.5)  # 매 2x per 1.5y
```

### COVID-style
```python
def epidemic_R(cases_today, cases_5days_ago, gen_time_days=5):
    """매 매 5d 의 doubling 매 매 R."""
    growth_rate = math.log(cases_today / cases_5days_ago) / 5
    return math.exp(growth_rate * gen_time_days)
```

### Cohort retention (counter-exponential)
```python
def retention_curve(d1=0.4, decay_rate=0.05):
    """매 retention 의 typically 매 power-law / exponential decay."""
    return [d1 * math.exp(-decay_rate * d) for d in range(0, 365)]
```

### Detect inflection (saturation)
```python
def detect_saturation(series, window=10):
    """매 derivative 의 decrease 의 detect."""
    deltas = np.diff(series)
    recent_delta = np.mean(deltas[-window:])
    earlier_delta = np.mean(deltas[-2*window:-window])
    return recent_delta < earlier_delta * 0.7  # 매 30% slowdown
```

### LLM scaling law (Chinchilla)
```python
def chinchilla_optimal(N_params, D_tokens):
    """매 optimal: D ≈ 20 * N (Hoffmann 2022)."""
    optimal_D = 20 * N_params
    if D_tokens < optimal_D * 0.5: return 'undertrained'
    if D_tokens > optimal_D * 2: return 'overtrained'
    return 'near_optimal'
```

### Viral campaign forecast
```python
def viral_campaign(seed_users, k, cycles, cycle_days):
    users = [seed_users]
    for _ in range(cycles):
        users.append(users[-1] * (1 + k))
    return {'final_users': users[-1], 'days': cycles * cycle_days, 'series': users}
```

### Linear-log plot helper
```python
import matplotlib.pyplot as plt
def plot_growth(t, y):
    fig, ax = plt.subplots(1, 2, figsize=(10, 4))
    ax[0].plot(t, y); ax[0].set_title('Linear')
    ax[1].semilogy(t, y); ax[1].set_title('Log-y (exp = straight)')
    plt.show()
```

## 매 결정 기준
| 상황 | Approach |
|---|---|
| Population | Logistic (capped) |
| Tech transistor | Moore's law (exp) |
| Startup | Viral k + retention |
| Disease | R + gen time |
| Investment | Compound |
| Hype curve | Logistic + decay |

**기본값**: 매 short-horizon 의 exponential model + 매 long-horizon 의 logistic + 매 detect saturation 의 monitor.

## 🔗 Graph
- 부모: [[Math]]
- 변형: [[Power-Law]]
- 응용: [[Epidemiological-Modeling]] · [[Moores-Law]]
- Adjacent: [[Scaling-Laws]] · [[Singularity]] · [[Doubling-Time]]

## 🤖 LLM 활용
**언제**: 매 growth model. 매 forecast. 매 viral / scaling.
**언제 X**: 매 saturation evident.

## ❌ 안티패턴
- **Extrapolate forever**: 매 cap 의 ignore.
- **Linear intuition for exp**: 매 trillion vs million 의 underestimate.
- **No log-y plot**: 매 detect 의 fail.
- **Cherry-pick window**: 매 trend manipulate.

## 🧪 검증 / 중복
- Verified (math textbook, Hoffmann 2022 Chinchilla, COVID literature).
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-04-20 | Auto-reinforced |
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — exp + 매 doubling / viral / logistic / scaling code |
