ForHosting KIT · Science

Logistic growth rate calculator

Get the instantaneous growth of a population that is filling its habitat: 50 individuals with an intrinsic rate of 0.1 and a carrying capacity of 100 add 2.5 individuals per unit of time, the steepest point of the S-curve. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Population
50
Intrinsic rate
0.1
Carrying capacity
100
You get
Dndt
2.5
Growth rate
2.5
Per capita rate
0.05
Unused capacity
0.5

A logistic growth rate calculator answers one ecology question: how fast is a population changing right now, given its size, its intrinsic per-capita rate, and the carrying capacity of the habitat. The Verhulst identity dN/dt equals r times N times one minus N over K is the instantaneous slope of the classic S-shaped logistic curve. When the population sits far below K the unused-capacity factor is near one and growth is nearly exponential; at half of carrying capacity the slope reaches its maximum rK/4; at K the slope is zero; above K a positive r produces a decline back toward the ceiling.

What instantaneous logistic growth rate means and how dN/dt is computed

Logistic growth is the standard density-dependent model in introductory ecology: a population grows in proportion to how many individuals are already present and in proportion to how much unused habitat remains. The unused-capacity factor is one minus the density ratio N over K. Multiplying that factor by the intrinsic per-capita rate r and by the current size N yields the instantaneous change in numbers, written dN/dt = r N (1 − N/K).

Far below carrying capacity the factor is almost one, so the slope is close to the exponential rN. At N equals K over two the parabola in N reaches its vertex and the slope is the textbook maximum rK/4; that half-K point is the inflection of the S-shaped N(t) curve. At N equals K the unused factor is zero and the population is at equilibrium.

Above K the unused factor is negative, so a positive r produces a negative dN/dt and the stock declines toward the ceiling. A zero population always returns a zero slope, because there are no individuals to reproduce. A negative intrinsic rate reverses the signs: the stock shrinks while it is still below K.

This calculator applies that identity only. It does not step a time series, it does not fit r or K from census points, and it does not switch to a discrete Ricker or Beverton–Holt map.

Give it N, r, and K in consistent units and it returns the slope you would draw as a tangent on the logistic curve at that instant, together with the per-capita rate r(1 − N/K), the unused-capacity fraction, the density ratio, and the theoretical peak slope rK/4 so you can see how close the present state sits to the inflection.

Wildlife census increment

A manager enters the latest count, the published intrinsic rate, and habitat carrying capacity to read the present dN/dt before choosing a harvest or protection action.

When is logistic growth fastest?

The instantaneous slope is largest in magnitude at N = K/2, where dN/dt = rK/4.

What happens if the population is above carrying capacity?

The unused-capacity factor 1 − N/K is negative. With a positive r the slope dN/dt is negative and regime is decreasing: the stock is projected to fall back toward K. That overshoot case is valid and is not treated as an error.

Does this integrate the logistic curve N(t) over time?

No. This page answers only the instantaneous rate at the current N. A closed-form N(t) projection from N0, r, K and a time horizon is a different search and a different identity.

How fast does a population of 50 grow with an intrinsic rate of 0.1 and a carrying capacity of 100?

Multiply r by N and by one minus N over K: 0.1 × 50 × (1 − 50/100) = 2.5 individuals per unit of time. At half the carrying capacity this is also the fastest growth possible, rK/4.

What is the per-capita growth rate in the logistic model?

It is r multiplied by the unused share of the habitat, one minus N over K. With an intrinsic rate of 0.1 and a population at half the carrying capacity, each individual adds 0.05 per unit of time.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/bio/logistic-growth-rate-dndt

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/bio/logistic-growth-rate-dndt \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"population":50,"intrinsic_rate":0.1,"carrying_capacity":100}'
{
  "population": 50,
  "intrinsic_rate": 0.1,
  "carrying_capacity": 100
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "bio.logistic_growth_rate_dndt",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_abs1000000000000000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

This endpoint evaluates that identity for any finite non-negative population, any finite intrinsic rate, and any positive carrying capacity, and it also returns the per-capita rate, the unused-capacity fraction, the density ratio N/K, and the theoretical peak slope. It does not integrate N(t) forward in time and it does not replace an exponential-only model.

Input contract, response shape, and error behaviour

POST a JSON body with three required finite numbers. population is the current size N in any consistent count unit such as individuals, cells, or density (aliases n, pop, size, current_population, n0). It must be non-negative; a negative headcount is rejected with invalid_input that names the field. intrinsic_rate is the low-density per-capita rate r in one-over-time (aliases r, rmax, intrinsic_growth_rate, per_capita_r). It may be positive, zero, or negative; a zero rate simply reports equilibrium at any N. carrying_capacity is K in the same unit as population (aliases k, capacity, k_max, carrying). It must be strictly positive, because the unused-capacity factor divides by K; zero or negative K fails with invalid_input. Each field may arrive as a JSON number or as a decimal or scientific string. Missing required fields, empty strings, non-finite values, and magnitudes above the declared ceiling fail with invalid_input. Those failures are not billed. On success the body echoes the three inputs, returns dndt and the synonym growth_rate as the instantaneous slope, and adds per_capita_rate, unused_capacity, n_over_k, max_dndt as rK/4, n_at_max_dndt as K/2, the boolean at_inflection, and a regime label of extinct, increasing, decreasing, or equilibrium. formula restates dN/dt = r N (1 − N/K); formula_applied substitutes this call's numbers so a notebook can print the substitution next to the answer. Example: N = 50, r = 0.1, K = 100 yields dN/dt = 2.5 at the inflection, unused capacity 0.5, and regime increasing. Pair the slope with your own time unit and census schedule; this endpoint does not integrate N(t) or choose a projection interval.

Where a logistic growth-rate calculator earns its keep

Wildlife and fisheries notebooks keep the same identity next to a census when a stock sits at eighty percent of carrying capacity and managers need the present increment, not a twenty-year projection. Conservation plans, aquaculture density checks, microbial batch-culture sheets, and LMS homework oracles need a deterministic parse that rejects a missing population or a zero carrying capacity instead of dividing by zero or silently returning Infinity. Failed validation does not consume balance. Teaching labs and ecology courses use a logistic growth rate calculator so students stop confusing the instantaneous slope dN/dt with the closed-form N(t) and can show that fifty individuals at r = 0.1 and K = 100 grow at 2.5 per unit time, which is also the theoretical maximum rK/4. Keep N, r, and K inside the declared ceilings, pin dndt and max_dndt in tests, and you get reproducible 2.5 answers for the textbook half-K case across a lecture notebook, an LMS plugin, and a population-management script.

Classroom half-K inflection check

A student enters N = 50, r = 0.1 and K = 100 and confirms dN/dt = 2.5, which equals the theoretical maximum rK/4 at the inflection.

LMS and model oracles

Automation pins dndt = 2.5 for the textbook half-K case and invalid_input when population is missing or carrying capacity is not positive.

How do I calculate the instantaneous logistic growth rate dN/dt?

Send population N, intrinsic_rate r, and carrying_capacity K. The API returns dN/dt = r N (1 − N/K). Fifty individuals at r = 0.1 and K = 100 yield dN/dt = 2.5, which is also the peak slope rK/4.

What does the logistic growth rate calculator cost?

The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →