# Email List Growth Calculator and Retention Planner

> Project an active email audience month by month with separate acquisition channels, explicit attrition components, a comparable improvement scenario, a closed-form target solver, equilibrium context, a complete monthly ledger, and local exports.

- **Canonical page:** [https://emailbump.com/tools/email-list-growth-calculator](https://emailbump.com/tools/email-list-growth-calculator)
- **Interactive tool:** [Open the list growth planner](https://emailbump.com/tools/email-list-growth-calculator)
- **Category:** Audience measurement, acquisition, and retention planning
- **Updated:** July 2026
- **Privacy:** All assumptions, calculations, charts, and exports stay in the browser
- **Network boundary:** The tool does not contact an email provider or accept subscriber-level data

## What this planner answers

An email list can add thousands of people while barely growing. Gross acquisition and gross attrition can cancel each other, leaving a stable headline count that hides expensive replacement activity.

This planner keeps both flows visible. It answers:

- How large is the active list under the supplied assumptions after a chosen number of months?
- How many subscribers are acquired in total?
- How many active subscribers leave in total?
- Which acquisition channel contributes the inflow?
- What happens when acquisition improves and attrition falls?
- How much constant monthly acquisition is required to reach a target?
- When does the baseline or improvement scenario first reach that target?
- Does a fixed-flow equilibrium exist?
- Which assumptions make the projection fragile or invalid?

The result is a deterministic scenario. It is not a forecast distribution, a growth guarantee, or a claim that rates will remain stable.

## Define the starting active list

The starting value should represent people who are currently eligible and contactable for the modeled scope.

Depending on the organization, this can mean:

- Subscribed marketing contacts for one brand
- A newsletter's active audience
- Product users eligible for a lifecycle stream
- Members of a consented regional audience
- The union of selected lists after deduplication

Do not automatically use every historical contact ever stored. Exclude people who are:

- Unsubscribed
- Complaint-suppressed
- Permanently bounce-suppressed
- Deleted or erased
- Outside the modeled consent scope
- Ineligible for the modeled stream
- Duplicated across source lists

Write down the eligibility query or snapshot definition. A projection built on “active” cannot be reproduced if active is only an informal label.

## Core monthly recurrence

For month `t`, the tool calculates:

```text
losses_t = opening_active_t × combined_monthly_loss_fraction

closing_active_t =
  opening_active_t
  - losses_t
  + acquisition_t

opening_active_(t+1) = closing_active_t
```

The compact identity is:

```text
closing active = opening active - monthly losses + new subscribers
```

The monthly net change is:

```text
net_t = acquisition_t - losses_t
```

The horizon net change is:

```text
ending active - starting active
```

Gross flows remain separate:

```text
gross acquired = sum of monthly acquisition
gross lost = sum of monthly losses
```

A positive horizon net can coexist with substantial gross loss. Reporting only net growth can conceal a costly or preventable retention problem.

## Timing contract

Every monthly model needs an order of operations. This calculator applies attrition to the opening active list, then adds the month's new subscribers:

```text
1. Observe opening active subscribers
2. Apply the combined monthly loss fraction
3. Add that month's acquisition
4. Carry closing active into the next month
```

Under this convention, new subscribers added during month one first face monthly attrition in month two.

Real subscriber flows occur continuously. A person can join, unsubscribe, bounce, or be suppressed on any day. Monthly timing is an approximation designed for consistent planning. A model that assumes acquisition at the start of the month would produce a slightly different result because new subscribers would immediately face the full monthly attrition rate.

Do not compare two projections that use different timing conventions without restating the model.

## Fractional expected counts and display rounding

People are discrete, but a proportional planning model produces fractional expected counts.

If the opening active list is 10,001 and the loss rate is 0.9%, the modeled loss is:

```text
10,001 × 0.009 = 90.009
```

The calculator preserves the fractional value internally and rounds only for display. Rounding every month's closing list before using it as the next opening list creates avoidable compounding error.

Exports preserve the unrounded values in the monthly ledger. Treat them as model quantities rather than assertions that a fraction of a person exists.

## Acquisition channels

Each acquisition channel has:

- A name
- Month-one new subscribers
- A monthly percentage change

Examples include:

- Product signups
- Editorial forms
- Content downloads
- Events and webinars
- Partner programs
- Referrals
- Paid acquisition
- In-product invitations
- Waitlists
- Offline sources with documented consent

The month-`t` acquisition for a channel is:

```text
channel_acquisition_t =
  month_one_acquisition
  × (1 + monthly_change)^(t - 1)
```

If a channel begins with 500 subscribers and grows 3% monthly:

```text
month 1 = 500
month 2 = 500 × 1.03 = 515
month 3 = 500 × 1.03² = 530.45
```

A negative monthly change models declining acquisition. A value of -100% reduces later months to zero. The interface limits the input to avoid mathematically nonsensical acquisition below zero.

Total monthly acquisition is the sum of all channel flows. Channel contribution over the horizon uses the sum of that channel's monthly modeled acquisitions divided by total acquisition across all channels.

## Why channel-level acquisition matters

One total acquisition number hides concentration and momentum.

Two plans can both acquire 1,000 people in month one:

- Plan A obtains all 1,000 from a declining paid channel.
- Plan B obtains 600 from growing product signups and 400 from a stable editorial channel.

Their month-one totals match, but their trajectories and risks differ.

For each channel, record:

- Source definition
- Consent mechanism
- Owner
- Month-one observation window
- Whether the input is actual, committed, or aspirational
- Expected monthly change and rationale
- Capacity constraints
- Cost or resource dependency
- Quality indicators such as confirmation, activation, complaints, or early attrition

Growth quantity should not be separated from permission and quality. A channel that adds contacts who did not ask for the mail can damage retention and deliverability rather than create durable audience value.

## Attrition components

Each loss component is entered as a percentage of the opening active list. Example components can include:

- Unsubscribes
- Terminal bounce suppression
- Complaint suppression
- Consent withdrawal through another system
- Lifecycle sunset policy
- Manual cleanup
- Account closure
- Eligibility changes

The combined rate is the sum of component rates:

```text
combined loss rate =
  unsubscribe rate
  + terminal-bounce loss rate
  + complaint-suppression rate
  + other mutually exclusive loss rates
```

This addition is valid only when component categories are mutually exclusive.

If the same person is counted in an unsubscribe event and a later cleanup job, adding both event rates overstates unique active-list loss. Deduplicate to one terminal removal from the modeled active population.

## Convert event data into unique subscriber loss

Source systems often expose events, not a clean monthly active-list flow.

To create a loss ledger:

1. Capture the opening active population at the model boundary.
2. Collect all events that remove eligibility during the month.
3. Normalize identities across products and vendors.
4. Deduplicate multiple events for the same person.
5. Apply a priority or terminal-reason policy.
6. Exclude people who were not in the opening active population when the rate definition requires it.
7. Divide unique losses by the opening active population.

An example terminal-reason priority might retain complaint suppression over a later hard-bounce event because the complaint is the stronger durable policy state. The precise hierarchy is organization-specific, but it should be documented.

Do not add campaign-level unsubscribe percentages across sends and call the result monthly unique attrition. One subscriber can receive several campaigns, and campaign denominators differ from the opening active-list denominator.

## Combined attrition must remain below 100%

The model requires a combined monthly proportional loss below 100%.

At exactly 100%, every opening subscriber leaves before acquisition is added. At more than 100%, the arithmetic would imply losing more unique opening subscribers than exist, which proves that components overlap, denominators differ, or inputs are otherwise inconsistent.

The tool blocks interpretation when combined attrition is 100% or more.

Even a much smaller rate deserves context. This calculator does not label one loss percentage “healthy” for every program. Audience purpose, frequency, source, consent, message relevance, age, and cleanup policy all affect the observed flow.

## Improvement scenario

The calculator runs a second trajectory beside the baseline with two editable changes:

- Acquisition lift
- Attrition reduction

If baseline acquisition in a month is `A_t` and acquisition lift is `L`:

```text
scenario_acquisition_t = A_t × (1 + L)
```

If baseline loss fraction is `c` and attrition reduction is `R`:

```text
scenario_loss_fraction = c × (1 - R)
```

A 20% attrition reduction applied to a 1% baseline monthly loss rate produces:

```text
1% × (1 - 0.20) = 0.8%
```

It does not produce a negative 19% rate, and it is not a 20-percentage-point reduction.

The scenario applies these improvements consistently for the whole horizon. That is a simplification. A real program may ramp acquisition, phase in retention work, or experience lag. Use the scenario as a comparable counterfactual for planning, then create staged assumptions elsewhere if timing matters.

## Target solver

The target solver answers:

> With the current monthly attrition rate, what constant number of new subscribers must arrive at the end of every modeled month to reach the target at month `n`?

For starting list `S₀`, monthly retention `r = 1 - c`, constant acquisition `A`, and horizon `n`:

```text
S_n = r^n × S₀ + A × (1 - r^n) / (1 - r)
```

Because `1 - r = c`, solve for `A`:

```text
A =
  (target - r^n × S₀)
  × c
  / (1 - r^n)
```

When attrition is zero:

```text
A = max(0, (target - S₀) / n)
```

The result is clamped to zero when retained starting subscribers alone meet the target.

The solver intentionally ignores each channel's growth or decline and returns a constant monthly requirement. This makes it a clean planning reference. Compare it with current month-one acquisition, then decide how that requirement could be distributed across channels.

## Percentage-point and relative acquisition gaps

Acquisition is a count, so the tool reports the relative change required from current month-one acquisition:

```text
required lift =
  (required monthly acquisition - current month-one acquisition)
  / current month-one acquisition
  × 100
```

If current month-one acquisition is zero, relative lift is undefined. The tool shows no percentage rather than manufacturing an infinite or misleading value.

The required constant count can be below current month-one acquisition while the baseline still misses a target when current channels decline rapidly. This is not necessarily a contradiction: the solver assumes the required count stays constant, while the baseline follows the entered channel changes.

## Target attainment

The planner checks every monthly closing value.

- Month zero means the starting active list already meets the target.
- A numbered month is the first monthly closing value at or above the target.
- “Not reached” means the trajectory stays below the target for the selected horizon.

Both baseline and improvement scenario receive a target-attainment result.

Do not equate first attainment with durable retention above the target. A declining acquisition path can cross a target and later fall below it. Inspect the ledger and chart through the full horizon.

## Fixed-flow equilibrium

With constant monthly acquisition `A` and proportional monthly loss fraction `c`, the fixed point satisfies:

```text
S* = S* × (1 - c) + A
```

Solving gives:

```text
S* = A / c
```

At the fixed point, expected monthly losses equal monthly acquisition.

If acquisition is 900 per month and attrition is 0.9%:

```text
equilibrium = 900 / 0.009 = 100,000
```

Equilibrium is not a hard maximum. It is the fixed point under unchanged assumptions. Increase acquisition or reduce attrition and it moves. If the current active list is below the fixed point, the constant-flow recurrence rises toward it. If the current active list is above it, the recurrence falls toward it.

## When equilibrium does not apply

The calculator displays no fixed equilibrium when:

- Any acquisition channel grows monthly
- Any acquisition channel declines monthly
- Combined attrition is zero
- The input model is invalid

When acquisition changes, `A` is not constant and `A / c` moves every month. A single “natural ceiling” would misdescribe the model. The chart and monthly ledger remain the appropriate outputs.

With zero attrition and positive acquisition, list size continues increasing rather than converging to a finite fixed point.

## Example: steady acquisition

Assume:

- Starting active list: 10,000
- Product signups: 650 per month
- Content and events: 250 per month
- Total constant acquisition: 900 per month
- Unsubscribes: 0.65% monthly
- Terminal bounces: 0.18% monthly
- Complaint and other suppression: 0.07% monthly
- Combined attrition: 0.90%

Month one:

```text
losses = 10,000 × 0.009 = 90
closing = 10,000 - 90 + 900 = 10,810
```

Month two:

```text
losses = 10,810 × 0.009 = 97.29
closing = 10,810 - 97.29 + 900 = 11,612.71
```

The constant-flow equilibrium is:

```text
900 / 0.009 = 100,000
```

That number is long-run context, not a prediction that the list will soon reach 100,000. The path can take many periods and assumptions can change first.

## Example: growing acquisition channel

Assume one channel starts at 1,000 subscribers and grows 4% monthly while another adds a constant 300.

Total acquisition changes:

```text
month 1 = 1,000 + 300 = 1,300
month 2 = 1,040 + 300 = 1,340
month 3 = 1,081.60 + 300 = 1,381.60
```

Because acquisition changes, there is no single fixed-flow equilibrium. A calculator that still reports month-one acquisition divided by attrition as a permanent ceiling would omit the central growth assumption.

## Example: acquisition masks attrition

Suppose a program adds 5,000 subscribers and loses 4,700 over a quarter.

```text
net growth = 5,000 - 4,700 = 300
```

The headline list grows by 300, but 94% of acquisition merely replaces gross losses:

```text
4,700 / 5,000 × 100 = 94%
```

This planner shows gross acquisition and gross loss beside net growth so the operating burden remains visible. Investigate whether losses are expected, source-specific, preventable, or created by deliberate cleanup.

## Interpret attrition carefully

Lower loss is not automatically better.

A list can appear to retain more people because:

- Suppression events are delayed
- Invalid recipients are not removed
- Sunset policy was disabled
- Consent withdrawals failed to synchronize
- Complaint events are missing
- The eligibility definition expanded

Conversely, a one-time cleanup can create high reported attrition while improving list quality and reducing wasted send volume.

Always attach reason mix and data-pipeline health to the rate. Retention planning should not reward keeping ineligible or unreachable records in an “active” count.

## Quality dimensions beside list size

List size alone is insufficient. Monitor:

- Consent source and confirmation
- Activation after signup
- Complaint rate
- Unsubscribe rate
- Terminal bounce rate
- Engagement suited to the stream
- Conversion or product outcome
- Acquisition cost
- Source-level retention
- Suppression synchronization
- Time from signup to first useful message

The best acquisition channel is not necessarily the channel with the most contacts. A smaller source with durable permission, activation, and retention can create more long-term value.

## Cohort analysis

Aggregate attrition assumes one proportional loss rate applies to the whole opening list. Real loss often depends on acquisition source and subscriber age.

A stronger analytical system can model cohorts:

- Signup month
- Acquisition channel
- Consent type
- Product plan
- Geography
- Message stream
- First-value milestone

For example, partner-acquired subscribers may experience high first-month loss and stable later retention, while product signups may retain differently. One aggregate monthly rate cannot reproduce those shapes.

Use this calculator for transparent scenario planning. Move to cohort survival or state-transition modeling when age-specific retention materially changes decisions.

## Seasonality and events

Monthly channel change is a smooth compounding assumption. It does not represent:

- Holiday peaks
- Annual conferences
- Product launches
- One-time migrations
- Paid campaign bursts
- Seasonal churn
- Policy changes
- Provider incidents

For a seasonal plan, calculate shorter phases separately or export the ledger and replace monthly acquisition and loss assumptions with a dated model.

Do not hide a known one-time import inside recurring monthly acquisition. Separate durable flow from exceptional events.

## Scenario discipline

For each assumption, label its evidence:

- **Observed:** calculated from a defined historical window
- **Committed:** supported by approved capacity, budget, or contract
- **Estimated:** reasoned but uncertain
- **Target:** an outcome the team intends to create
- **Stress:** deliberately adverse or favorable boundary

Avoid mixing an observed baseline with a highly aspirational improvement scenario and then presenting the scenario as a forecast.

Create at least:

1. Baseline with comparable recent evidence
2. Downside with weaker acquisition or higher loss
3. Improvement case tied to named interventions

The interactive page shows baseline and one improvement case. Exports make it easy to preserve the exact inputs.

## Data preparation checklist

- [ ] Starting active is defined by a reproducible query
- [ ] People are deduplicated across lists and systems
- [ ] Acquisition channels do not overlap
- [ ] Month-one channel inputs use comparable timing
- [ ] Monthly channel changes are labeled as observed, estimated, or target
- [ ] Loss components use the opening active-list denominator
- [ ] Loss components are mutually exclusive
- [ ] Campaign event rates are not simply added into monthly unique loss
- [ ] Late events and backfills are understood
- [ ] Complaint, bounce, and unsubscribe synchronization is complete
- [ ] One-time cleanup is separated from recurring attrition
- [ ] Scenario changes have owners and interventions
- [ ] The timing convention is stated
- [ ] Display rounding is not fed back into calculations
- [ ] Target and horizon are decision-relevant

## Monthly review workflow

### 1. Freeze the prior assumption set

Keep the exact plan used for the previous review. Do not overwrite history.

### 2. Reconcile actual opening and closing active counts

Explain differences caused by data corrections, identity merges, suppression backfills, imports, and eligibility changes.

### 3. Compare gross flows

Measure acquisition and unique losses separately. Compare channel contribution and reason mix.

### 4. Diagnose variance

For each material difference, distinguish:

- Volume variance
- Conversion variance
- Channel mix
- Attrition rate
- Data-pipeline change
- Definition change
- Timing difference

### 5. Reforecast

Update assumptions only when evidence or decisions changed. Record the owner, reason, and date.

### 6. Connect interventions

Tie acquisition lift or attrition reduction to concrete work such as form improvements, onboarding, segmentation, consent confirmation, source shutdown, suppression repair, or content changes.

## Exports

### Copy brief

The text brief includes horizon, starting active, target, ending active, gross flows, combined attrition, scenario ending, target requirement, target timing, equilibrium context, channel assumptions, and the deterministic-model boundary.

### Copy CSV

The CSV contains one row per modeled month:

- Month
- Baseline opening
- Baseline acquired
- Baseline lost
- Baseline net
- Baseline closing
- Scenario acquired
- Scenario lost
- Scenario net
- Scenario closing

Values preserve calculation precision.

### Copy or download JSON

The structured report includes:

- Formula and timing contract
- Rounding policy
- Starting active list
- Horizon and target
- Acquisition channels
- Attrition components
- Combined attrition
- Scenario assumptions
- Summary results
- Channel totals and shares
- Monthly ledger
- Findings

The export is suitable for a planning ticket, review document, repository fixture, or downstream analysis.

## What this planner does not model

It does not directly model:

- Cohort-specific retention
- Daily timing
- Seasonality
- Random variation
- Confidence intervals
- Acquisition cost
- Subscriber revenue
- Consent validity
- Inbox placement
- Engagement
- Conversion
- Overlap between incorrectly prepared inputs
- Vendor data delays
- One-time imports unless entered as recurring flow
- Capacity constraints

These omissions are deliberate. The tool provides an auditable monthly flow model rather than a black-box growth score.

## Frequently asked questions

### What should starting active subscribers include?

People currently eligible and contactable for the modeled stream and consent scope. Exclude historical records that are unsubscribed, suppressed, erased, duplicated, or otherwise ineligible.

### Can I add unsubscribe, bounce, complaint, and cleanup rates?

Only when they represent mutually exclusive unique losses from the same opening active population. Deduplicate people who appear in several event feeds.

### Why does attrition use the opening list?

It creates a reproducible monthly rate and a clear recurrence. The timing convention assumes new monthly acquisition enters after attrition and first faces loss in the next month.

### Why does the model keep fractional people?

Proportional expectations are fractional. Preserving them internally prevents repeated display rounding from distorting later months. The interface rounds only for readability.

### Is equilibrium the maximum possible list size?

No. It is a fixed point under constant acquisition and proportional loss. Change either assumption and the fixed point changes.

### Why is there no equilibrium when acquisition grows?

The fixed-point formula requires constant acquisition. When acquisition changes each month, the implied fixed point moves, so one number does not describe the path.

### How is required monthly acquisition calculated?

The solver uses the closed form of the same monthly recurrence and finds a constant end-of-month acquisition count that reaches the target under current attrition.

### Why can required constant acquisition differ from the modeled channel average?

The baseline can include growing or declining channels. The solver intentionally holds acquisition constant to answer a different, simpler planning question.

### Can a stable list still be unhealthy?

Yes. High acquisition can replace equally high attrition. Review gross flows, source quality, complaints, bounces, consent, engagement, and cost.

### Should inactive subscribers count as active?

Use the organization's documented eligibility definition. Do not keep ineligible or unreachable people active merely to make the list larger. If inactivity changes eligibility, model the resulting unique sunset loss explicitly.

### Is a lower attrition rate always better?

No. Missing complaint, bounce, unsubscribe, or cleanup events can make retention look artificially strong. Inspect reason mix and data completeness.

### Does the tool upload audience data?

No. It needs aggregate counts and rates only, and all calculation and export work happens locally in the browser.

## Related tools and guidance

- [Email bounce rate calculator](https://emailbump.com/tools/email-bounce-rate-calculator.md)
- [Email A/B test calculator](https://emailbump.com/tools/email-ab-test-calculator.md)
- [Email UTM campaign builder](https://emailbump.com/tools/utm-builder.md)
- [Email word and structure analyzer](https://emailbump.com/tools/email-word-counter.md)
- [Segmentation glossary definition](https://emailbump.com/glossary/segmentation.md)
- [Double opt-in glossary definition](https://emailbump.com/glossary/double-opt-in.md)
- [Suppression list glossary definition](https://emailbump.com/glossary/suppression-list.md)
- [List hygiene glossary definition](https://emailbump.com/glossary/list-hygiene.md)
- [Contacts and segments documentation](https://emailbump.com/docs/contacts.md)
