Reach in Bright Analytics is calculated differently to the figures you'll see in platform reports (TikTok, Meta Ads, etc.).
This is deliberate.
The problem with platform Reach figures?
When you pull Reach for a given date range from TikTok or Meta, the number isn't wrong, but it's inflated.
The platforms count everyone reached during your selected window without accounting for people who had already been exposed to the Ad Group or Campaign before that window began.
So if you run a report that asks "how many people did we reach between 13th and 19th April?", the platform tells you the total unique users reached in that period - including people who had already seen the ads days or weeks earlier.
The BA methodology
Rather than querying Reach for a date range directly, we:
Calculate the total cumulative Reach for an Ad Group or Campaign from its launch date up to a given day, and store that figure.
Calculate the true daily Reach as the difference between cumulative totals on two consecutive dates.
Sum those daily differences to produce Reach for any time range.
This gives an accurate daily view of genuinely new people reached each day.
Why this matters
Because the incremental reach data is stored at daily granularity, you can aggregate over any time range and see how Reach is genuinely evolving - rather than a headline figure that quietly double-counts previously-exposed users.
It's the transparency the platforms aren't especially motivated to give you.
Naming
Because our methodology differs from the platforms, we're don't call it Reach - instead we label the metric to Incremental Reach to make the approach explicit.
Related metrics: CPIR and Frequency
Cost per Incremental Thousand Reached (CPIR).
This uses the Incremental Reach metric as a component, and we divide 'Spend' by 'Incremental Reach / 1000'.
This is useful for spotting patterns like steady eCPM alongside rising CPIR - a classic sign of a campaign saturating its audience.
Frequency
We also calculate the Frequency based on Impressions / Incremental Reach.
