--- 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 |