{"success":true,"version":"v1","request":{"tool":"get_calculator_schema","calculator_id":"population-growth"},"result":{"entity_type":"calculator","id":"population-growth","calculator_id":"population-growth","canonical_url":"https://tttkmbb.com/science/population-growth","name":"Population Growth Calculator","title":"Population Growth Calculator – Exponential (Discrete or Continuous) and Logistic Growth Models","category":"science","category_name":"Biology, Earth & Space","tool_name":"calculate_population_growth","featured_mcp_tool":false,"description":"Projects a population over a number of periods with discrete exponential growth P0(1 + r)^t, continuous exponential growth P0·e^(rt) or the logistic model with a carrying capacity K, and reports the final size, growth multiple, doubling time and a period-by-period schedule.","use_when":"You need the future size of a population (organisms, cells, people, users) from a starting size and a per-period growth rate, with or without a carrying capacity, or its doubling time.","do_not_use_when":"You are modelling money (use compound-interest), radioactive or first-order decay (use half-life), or want the doubling time from two cell counts (use cell-doubling-time).","inputs":[{"name":"initial_population","label":"Initial population P0","type":"number","required":true,"max":1000000000000000,"exclusive_min":0,"description":"Population size at period 0.","example":1000},{"name":"growth_rate_percent","label":"Growth rate per period","type":"number","unit":"%","required":true,"max":10000,"exclusive_min":-100,"description":"Growth rate r per period in percent (3 means 3 % per period); negative for decline. For the logistic model this is the intrinsic rate r.","example":3},{"name":"periods","label":"Periods","type":"number","required":true,"max":100000,"exclusive_min":0,"description":"Number of periods t (years, generations, hours – any unit, the same one the rate refers to).","example":10},{"name":"model","label":"Growth model","type":"enum","required":false,"default":"exponential_discrete","values":[{"value":"exponential_discrete","label":"Exponential, discrete compounding: P0 × (1 + r)^t","aliases":["discrete","geometric"]},{"value":"exponential_continuous","label":"Exponential, continuous: P0 × e^(rt)","aliases":["continuous","exponential"]},{"value":"logistic","label":"Logistic with carrying capacity K: K / (1 + ((K − P0) / P0) × e^(−rt))","aliases":["verhulst"]}],"description":"Growth model. The logistic model needs carrying_capacity.","example":"exponential_discrete"},{"name":"carrying_capacity","label":"Carrying capacity K","type":"number","required":false,"max":1000000000000000000,"exclusive_min":0,"description":"Maximum sustainable population for the logistic model; ignored by the exponential models.","example":10000}],"outputs":[{"name":"model_used","label":"Model","type":"string","decimals":4,"description":"The growth equation applied."},{"name":"growth_rate_per_period","label":"Rate r (decimal)","type":"number","decimals":6,"description":"growth_rate_percent / 100."},{"name":"final_population","label":"Population after t periods","type":"number","decimals":2,"description":"P(t) from the chosen model."},{"name":"absolute_growth","label":"Absolute growth","type":"number","decimals":2,"description":"P(t) − P0."},{"name":"growth_multiple","label":"Growth multiple","type":"number","decimals":4,"description":"P(t) / P0."},{"name":"doubling_time_periods","label":"Doubling time","type":"number","unit":"periods","decimals":2,"description":"ln 2 / ln(1 + r) (discrete) or ln 2 / r (continuous); only for exponential growth with r > 0."},{"name":"percent_of_carrying_capacity","label":"Share of carrying capacity","type":"number","unit":"%","decimals":2,"description":"100 × P(t) / K (logistic model only)."},{"name":"schedule","label":"Schedule","type":"list","decimals":2,"description":"Rows of period and population from 0 to t (every period up to 50 periods, then evenly spaced steps; at most 52 rows)."}],"input_schema":{"type":"object","properties":{"initial_population":{"description":"Population size at period 0.","type":"number","maximum":1000000000000000,"exclusiveMinimum":0,"examples":[1000]},"growth_rate_percent":{"description":"Growth rate r per period in percent (3 means 3 % per period); negative for decline. For the logistic model this is the intrinsic rate r. Unit: %.","type":"number","maximum":10000,"exclusiveMinimum":-100,"examples":[3],"x-unit":"%"},"periods":{"description":"Number of periods t (years, generations, hours – any unit, the same one the rate refers to).","type":"number","maximum":100000,"exclusiveMinimum":0,"examples":[10]},"model":{"description":"Growth model. The logistic model needs carrying_capacity.","type":"string","enum":["exponential_discrete","exponential_continuous","logistic"],"default":"exponential_discrete","examples":["exponential_discrete"]},"carrying_capacity":{"description":"Maximum sustainable population for the logistic model; ignored by the exponential models.","type":"number","maximum":1000000000000000000,"exclusiveMinimum":0,"examples":[10000]}},"additionalProperties":false,"required":["initial_population","growth_rate_percent","periods"]},"output_schema":{"type":"object","properties":{"model_used":{"description":"The growth equation applied.","type":"string"},"growth_rate_per_period":{"description":"growth_rate_percent / 100.","type":"number"},"final_population":{"description":"P(t) from the chosen model.","type":"number"},"absolute_growth":{"description":"P(t) − P0.","type":"number"},"growth_multiple":{"description":"P(t) / P0.","type":"number"},"doubling_time_periods":{"description":"ln 2 / ln(1 + r) (discrete) or ln 2 / r (continuous); only for exponential growth with r > 0. Unit: periods.","type":"number","x-unit":"periods"},"percent_of_carrying_capacity":{"description":"100 × P(t) / K (logistic model only). Unit: %.","type":"number","x-unit":"%"},"schedule":{"description":"Rows of period and population from 0 to t (every period up to 50 periods, then evenly spaced steps; at most 52 rows).","type":"array"}}},"formula":"Discrete: P(t) = P0 × (1 + r)^t, doubling time = ln 2 / ln(1 + r); continuous: P(t) = P0 × e^(rt), doubling time = ln 2 / r; logistic: P(t) = K / (1 + ((K − P0) / P0) × e^(−rt)), with r = growth_rate_percent / 100","method":"The discrete model compounds once per period (as in annual census data); the continuous model is its instantaneous-rate counterpart. The logistic (Verhulst) model uses the continuous intrinsic rate r and approaches K asymptotically, so no doubling time is reported for it.","sources":[{"name":"Wikipedia – Population growth","url":"https://en.wikipedia.org/wiki/Population_growth","type":"reference","retrieved_at":"2026-09-24"},{"name":"Wikipedia – Logistic function","url":"https://en.wikipedia.org/wiki/Logistic_function","type":"reference","retrieved_at":"2026-09-24"},{"name":"OpenStax Biology 2e – 45.3 Environmental Limits to Population Growth","url":"https://openstax.org/books/biology-2e/pages/45-3-environmental-limits-to-population-growth","type":"textbook","retrieved_at":"2026-09-24"}],"freshness":{"type":"static","max_age_seconds":null,"note":"Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output."},"examples":[{"name":"1,000 at 3 % per year for 10 years (discrete)","inputs":{"initial_population":1000,"growth_rate_percent":3,"periods":10,"model":"exponential_discrete"},"expected":{"final_population":1343.92,"absolute_growth":343.92,"growth_multiple":1.3439,"doubling_time_periods":23.45},"url":"https://tttkmbb.com/api/v1/calculate/population-growth?initial_population=1000&growth_rate_percent=3&periods=10&model=exponential_discrete"},{"name":"Logistic: P0 1,000, K 10,000, r 30 % for 10 periods","inputs":{"initial_population":1000,"growth_rate_percent":30,"periods":10,"model":"logistic","carrying_capacity":10000},"expected":{"final_population":6905.68,"growth_multiple":6.9057,"percent_of_carrying_capacity":69.06},"url":"https://tttkmbb.com/api/v1/calculate/population-growth?initial_population=1000&growth_rate_percent=30&periods=10&model=logistic&carrying_capacity=10000"}],"faq":[{"q":"Discrete or continuous?","a":"Use discrete when growth is reported per period (e.g. 3 % per year from census data); use continuous for a rate defined instantaneously (r in dN/dt = rN). At 3 % the two differ by less than 0.5 % after 10 periods, but the gap grows with the rate."},{"q":"Why is there no doubling time for the logistic model?","a":"Logistic growth slows as the population approaches K, so the time to double depends on the current size; it is only well defined for exponential growth."},{"q":"Can the population decline?","a":"Yes: a negative growth rate gives a shrinking population (down to −100 % exclusive for the discrete model); no doubling time is reported then."}],"tags":["population growth","exponential growth","logistic growth","carrying capacity","doubling time","growth rate"],"related":[{"calculator_id":"cell-doubling-time","reason":"Derive the growth rate and doubling time from two counts."},{"calculator_id":"compound-interest","reason":"The same discrete formula applied to money."},{"calculator_id":"half-life","reason":"Exponential decrease expressed as a half-life."}],"links":{"html":"https://tttkmbb.com/science/population-growth","markdown":"https://tttkmbb.com/science/population-growth.md","json":"https://tttkmbb.com/science/population-growth.json","api":"https://tttkmbb.com/api/v1/calculate/population-growth","schema":"https://tttkmbb.com/api/v1/calculators/population-growth","openapi":"https://tttkmbb.com/openapi.json","mcp":"https://tttkmbb.com/mcp"},"version":"v1","updated_at":"2026-09-24"},"timestamp":"2026-09-24T03:46:20Z","next_actions":[{"tool":"run_calculator","calculator_id":"population-growth","reason":"Run Population Growth Calculator with the inputs above."}],"links":{"markdown":"https://tttkmbb.com/science/population-growth.md"}}