← All playbooks·Inventory pricing
Playbooks · Inventory pricing
Normalize inventory cost across formats with CPM
This job converts TV CPP, video CPV and display CPM into one net CPM per line item, then blends them into a single weighted CPM. It feeds the reallocation decision when line items are priced in different units and finance wants one number to compare them by.
What you need first
- Rate card with unit price and buy unit per line item: CPP for TV, CPV for video, CPM for display, from the sales rep or holding company rate card
- Target GRPs and audience universe size for the TV line, from the campaign brief and the panel provider (Nielsen, GfK, or local equivalent)
- Delivery forecast impressions and completion rate for the video line, from the ad server or platform
- Delivery forecast impressions for the display line, from the ad server or platform
- Discount grid by format and volume tier, from finance or the holding company rate agreement
- Campaign currency and market, from the campaign brief
The procedure
- Pull the rate-card unit price, buy unit, and forecast volume for each line item from the rate card and delivery forecast
- Convert TV GRPs to gross impressions using GRPs/100 x universe, then compute TV's gross CPM from CPP x GRPs / impressions x 1000
- Convert video CPV to gross CPM using CPV x 1000 x completion rate
- Take display's gross CPM directly from the rate card since it is already impression-priced
- Apply each line item's matching discount-grid tier to its gross CPM to get net CPM
- Compute net cost per line item as net CPM x impressions / 1000
- Sum net cost and impressions across all line items and divide to get the blended CPM
- Rank line items by net CPM to flag which formats are over- or under-priced for reallocation
Worked through with numbers
TV: CPP EUR1,200, 150 GRPs, universe 2,000,000. Gross impressions = 1.5 x 2,000,000 = 3,000,000. Gross cost = 1,200 x 150 = EUR180,000. Gross CPM = 180,000/3,000,000 x 1000 = EUR60.00. Video: CPV EUR0.04, completion rate 65%, forecast 5,000,000 impressions. Gross CPM = 0.04 x 1000 x 0.65 = EUR26.00, gross cost = 26.00 x 5,000,000/1000 = EUR130,000. Display: rate-card CPM EUR3.50, forecast 10,000,000 impressions, gross cost = 3.50 x 10,000,000/1000 = EUR35,000. Discount grid: TV 10%, video 12%, display 15%. Net CPM: TV 60.00 x 0.90 = EUR54.00; video 26.00 x 0.88 = EUR22.88; display 3.50 x 0.85 = EUR2.98. Net cost: TV 54.00 x 3,000,000/1000 = EUR162,000; video 22.88 x 5,000,000/1000 = EUR114,400; display 2.98 x 10,000,000/1000 = EUR29,800. Total net cost = EUR306,200, total impressions = 18,000,000, blended CPM = 306,200/18,000,000 x 1000 = EUR17.01. Read it as a volume-weighted average pulled toward display, not a sign that TV is priced like display: TV's own net CPM of EUR54.00 against display's EUR2.98 is what should drive any reallocation.
Where it goes wrong
- Net down every line item with its matching discount-grid tier before comparing CPMs; comparing one line's rate-card CPM to another line's negotiated net CPM makes the discounted format look artificially cheap
- Convert CPV to CPM with CPV x 1000 x completion rate, not raw CPV x 1000; skipping completion rate overstates video's CPM, in the worked example EUR40.00 instead of the correct EUR26.00
- Record whether TV's impression base is gross GRP-weighted or unique reach before blending it with video and display; blending gross duplicated TV impressions against unique digital impressions understates TV's real cost per person reached
- Pull the discount tier that matches this buy's committed volume, not the rate card's headline discount; using the wrong tier misstates net cost by the gap between tiers
How to know it is right
Recompute each line item's net cost from its net CPM and volume and confirm those figures sum to the total cost and impressions used for the blended CPM.
Terms used