Playbooks · TV budgeting
Convert an available budget into achievable TRPs
This job turns a finance-capped budget into the number of TRPs the campaign can actually buy at the CPP that applies at that spend level, not at rate-card price. The resulting TRP figure feeds the reach/frequency step and tells the planner whether the capped budget still hits the campaign's GRP target.
What you need first
- Net media budget cap approved by finance, in campaign currency (source: client budget sign-off or finance memo)
- Rate-card CPP for the target audience and daypart mix (source: broadcaster/sales house rate card)
- Volume discount grid mapping TRP or spend thresholds to discount tiers (source: agency's negotiated deal terms with the sales house)
- Campaign flight length and daypart/channel weighting (source: media plan brief)
- Agency commission percentage, if the budget figure is gross (source: client contract)
- Seasonal CPP index for months the flight crosses a rate change (source: sales house seasonal rate card)
The procedure
- Strip agency commission from a gross budget figure to produce the net spend available for airtime
- Pull the entry-tier CPP from the rate card for the target audience and daypart mix to produce a starting CPP
- Divide net budget by that CPP to produce a first-pass TRP estimate
- Check the first-pass TRP against the discount grid's tier boundaries to identify which tier it actually falls into
- Recompute CPP at the identified tier and re-divide budget by the new CPP, repeating until the TRP estimate lands inside the same tier that produced it, to produce a converged TRP figure
- Reprice and re-split the converged figure by month if the flight crosses a seasonal rate change, to produce the final deliverable TRP number
- Log the CPP and discount tier used for the final figure to give buyers an audit trail
Worked through with numbers
Net budget after stripping 10% agency commission from a €330,000 gross figure: €297,000. Target is Women 25-49, national commercial TV, rate-card CPP €1,200. Discount grid: 0-300 TRP at 55% off (CPP €540), 300-600 TRP at 60% off (CPP €480), 600+ TRP at 65% off (CPP €420). Pass 1: 297,000 / 540 = 550 TRP, which falls in the 300-600 tier, not the entry tier, so recompute. Pass 2: 297,000 / 480 = 618.75 TRP, which falls in the 600+ tier, so recompute again. Pass 3: 297,000 / 420 = 707.1 TRP, which sits inside the 600+ tier that produced it, so the loop converges. Read this as: the €330,000 gross budget buys roughly 707 TRPs at a blended CPP of €420, not the 275 TRPs a planner gets by naively dividing gross budget by rate-card CPP.
Where it goes wrong
- Divide by the discounted CPP from the volume grid, not the rate-card list price, since list price overstates cost by the full undiscounted margin and understates achievable TRPs
- Iterate the budget/CPP loop until the TRP figure lands inside the tier it was calculated from, since a single pass often lands in the wrong tier and misreports the discount the buy actually earns
- Strip agency commission from a gross budget before dividing by CPP, since dividing gross budget directly overstates achievable TRPs by the commission percentage
- Reprice CPP per month when the flight crosses a seasonal rate change, since one blended CPP across a low season and a high season misstates the TRP total
How to know it is right
Multiply the converged TRP figure by the CPP of the tier it landed in and confirm the result reproduces the net budget within rounding, and confirm that TRP figure is the one that put it in that tier in the first place.
Terms used