Facebook Ads Reach Calculator
Unique reach from an exposure model rather than a division, with how many people see the ad once, twice or six times, and how quickly reach saturates.
Audience 800,000
Budget $4,000.00 over 2.0 weeks
Impressions 434,783 at a $9.20 CPM
Reach
people who see it at least once 335,420
share of the audience 41.9%
frequency among those reached 1.30
impressions a head of audience 0.54
cost a person reached $0.0119
How often they see it
never 58.07%, about 464,580 people
1 time 31.56%, about 252,489 people
2 times 8.58%, about 68,611 people
3 times 1.55%, about 12,430 people
4 times 0.21%, about 1,689 people
5 times 0.02%, about 184 people
6 or more 0%, about 18 people
Against the usual shortcuts
impressions counted as people 434,783, 29.6% too high
impressions over a frequency of 2 217,391, which assumes an even spread
this model 335,420
the difference impressions do not queue politely one person at a time: some people see the ad three times before others see it once
What more budget buys
$4,000.00 335,420 reached, 41.9% of the audience, frequency 1.30 ← yours
$8,000.00 530,207 reached, 66.3% of the audience, frequency 1.64
$16,000.00 709,015 reached, 88.6% of the audience, frequency 2.45
$32,000.00 789,652 reached, 98.7% of the audience, frequency 4.40
which shows reach saturates while frequency keeps climbing: the money stops buying new people long before it stops buying impressions
434,783 impressions against an audience of 800,000 reaches about 335,420
people, 41.9% of it, at a frequency of 1.30. Counting the impressions as
people would have said 434,783, which is 29.6% too high.
Doubling the budget does not double the reach. $8,000.00 would reach
530,207 rather than 670,840, because the second half of the money keeps
finding people the first half already found.
This model assumes exposures fall randomly across the audience. Real
delivery is more concentrated than that, since the platform re-serves
whoever is cheapest to reach, so treat the reach figure as an optimistic
bound and the frequency as a conservative one.
Frequency is an average over a distribution with a long tail. The table
above is the useful part: a campaign whose average frequency looks
reasonable can still be showing the same ad a dozen times to a small
group, and that group is where the negative feedback comes from.
Reach and frequency trade against each other at a fixed budget, and the
right balance depends on the job. A launch needs reach, a considered
purchase needs frequency, and the mistake is planning one and reporting
the other.
Platform reach figures are deduplicated per platform, not across them.
The same person counted on two networks is one person, so adding
reported reach across channels overstates it by the overlap, which is
usually large.
None of this says whether the ad works. It says how many people had the
chance to see it and how often, which is the denominator for that
question rather than an answer to it.
Output is valid and updates as you type.
Fix the highlighted fields to update the output.
Impressions divided by frequency is not reach. It assumes the impressions spread themselves evenly across the audience, one person at a time, and they do not: some people see the ad three times before others see it once.
The standard way to model that is to treat exposures as falling randomly across the audience, which gives a Poisson distribution. With λ impressions per member of the audience:
reach = audience × (1 − e^−λ)
frequency = λ / (1 − e^−λ)
seen exactly k = e^−λ λ^k / k!
On the example, 434,783 impressions against an audience of 800,000 reach about 335,420 people at a frequency of 1.30. Counting the impressions as people would have said 434,783, which is 29.6 percent too high.
The model is wrong in a known direction. Real delivery is more concentrated than random, because the platform re-serves whoever is cheapest to reach, so this overstates unique reach. It is still far closer than dividing, and the shape of the answer is the part that matters.
How to use
- Put in the audience the campaign can actually deliver to, the budget and the CPM you expect.
- Read the reach and the frequency together. Neither means much alone.
- Use the exposure table to see how concentrated the delivery is, and the budget table to see where reach stops growing.
Example
An audience of 800,000, $4,000 at a $9.20 CPM over two weeks:
Reach
people who see it at least once 335,420
share of the audience 41.9%
frequency among those reached 1.30
cost a person reached $0.0119
How often they see it
never 58.07%, about 464,580 people
1 time 31.56%, about 252,489 people
2 times 8.58%, about 68,611 people
3 times 1.55%, about 12,430 people
4 times 0.21%, about 1,689 people
Against the usual shortcuts
impressions counted as people 434,783, 29.6% too high
impressions over a frequency of 2 217,391, which assumes an even spread
this model 335,420
What more budget buys
$4,000.00 335,420 reached, 41.9% of the audience, frequency 1.30
$8,000.00 530,207 reached, 66.3% of the audience, frequency 1.64
$16,000.00 709,015 reached, 88.6% of the audience, frequency 2.45
$32,000.00 789,652 reached, 98.7% of the audience, frequency 4.40
Eight times the budget buys 2.4 times the reach and 3.4 times the frequency. Reach saturates while frequency keeps climbing, which is the whole planning problem in one table.
Pitfalls
Reach and impressions are different units. Reach counts people, impressions count deliveries. A report that adds them, or uses one where it means the other, is a report that has lost the plot.
Doubling the budget does not double the reach. The second half of the money keeps finding people the first half already found. Past about 70 percent coverage, extra money is buying frequency whether you asked for it or not.
Average frequency hides its own tail. A campaign whose average looks reasonable can still be showing one ad a dozen times to a small group. That group is where the negative feedback and the hidden-ad reports come from.
This model is an optimistic bound on reach. Random exposure is the most spread-out delivery you could get. Real delivery concentrates, so treat the reach figure as a ceiling and the frequency as a floor.
Platform reach is deduplicated per platform, not across them. Adding reported reach across networks counts the same person more than once, usually by a large margin.
A large audience is not free reach. The budget decides how much of an audience gets touched. Widening the targeting without widening the budget lowers coverage and hands the delivery system more room to pick the cheapest people.
Reach says nothing about whether the ad worked. It is the denominator for that question, not an answer to it.
Compatibility
Arithmetic in the browser: nothing is uploaded and nothing is stored.
The exposure terms are built iteratively rather than with a factorial, so the distribution stays accurate at high λ where a direct factorial would overflow. The test suite asserts the distribution never sums above one and that the share who see the ad at least once is exactly one minus the share who never see it, which are the two properties a probability distribution has to have.
Reach is capped by the audience by construction, since the model multiplies the audience by a share that cannot exceed one. A budget far larger than its audience reports nearly complete coverage and a high frequency rather than an impossible reach.
The weeks field is reported for context and does not change the arithmetic: reach follows the impressions bought rather than the calendar they are spread over. A longer flight usually costs more per impression, which belongs in the CPM.