Skip to content
DV360 Account
Media Planning

How a Media Plan Generator Works: Formulas and a Template

A media plan generator runs a fixed chain of rules. It starts from a channel mix for your objective, multiplies each weight by industry and market factors, rescales to 100% inside a floor and ceiling per channel, keeps only the deals a channel's money can cover, prices each line from a rate card, converts money into impressions and reach with an overlap discount, then spreads spend across the weeks.

Shalini Pathak, DV360 Consultant Published 11 min read

What actually happens inside a media plan generator?

A media plan generator is a chain of small rules, each handing a more finished plan to the next. None is clever alone. The value is that they run the same way every time, so every number traces back to a weight, a band or a rate.

Most generators work in the same order, and so do the plans we build when you ask for a free media plan. They start from a channel mix, adjust it, cap it, add deals, price the lines, estimate reach and spread the money by week.

The sections below take each rule in turn, using one brief, and a sheet you can copy closes the post. For the planning process itself, from objective to creatives, read how to create a programmatic media plan.

The running example: a mobile gaming studio is launching a new title and wants awareness among 18 to 34 year olds across India, with extra weight in the metros, in Hindi and English. It has ₹30 lakh of media for four weeks, and Diwali falls in week three.

Which inputs drive which part of the plan?

Each input feeds one step. Leave it vague and that step falls back to a default, which is where generic-looking plans come from.

Input What it changes
Objective The starting mix, each channel's band and the KPI per line
Industry Multipliers on channel weights and on suitable publishers
States, cities and tiers Regional publishers score up or down; metros lift DOOH
Languages Publishers score by language match, so a Tamil app stays out of a Hindi plan
Budget How many channels survive and which deals clear their minimums
Dates and key dates The weekly weights
Formats and named publishers Which channels are in play, and which deals are forced in

In our plans, age, gender and segments do not change the split at all. They travel with each line as targeting.

How does a generator decide each channel's share?

It starts with a base weight per channel, set by the objective, plus a band. For awareness, our plans start YouTube at 35 inside 30–40% and CTV and OTT at 30 inside 25–35%, with smaller weights for online video, display and DOOH.

Then it multiplies. A gaming brand gets 1.3 on YouTube, 1.2 on online video and 0.8 on CTV, on the view that its audience watches less television. Targeting metros multiplies DOOH by 1.3. The results are rescaled to 100.

Then it enforces the bands. A share outside its band is pinned to the nearest edge, and what is left is shared among the rest by weight, repeating until nothing moves.

Channel Base Multiplier Adjusted Before bands Band Final Budget
YouTube 35 1.3 45.5 41.4% 30–40% 40.0% ₹12,00,000
CTV and OTT 30 0.8 24.0 21.8% 25–35% 25.0% ₹7,50,000
Online video 15 1.2 18.0 16.4% 10–20% 15.6% ₹4,68,000
Display 12 1.0 12.0 10.9% 10–15% 10.4% ₹3,12,000
DOOH 8 1.3 10.4 9.5% 0–15% 9.0% ₹2,70,000

YouTube's 41.4% breaks its ceiling and CTV's 21.8% falls under its floor, so both are pinned. The other three share the remaining 35% in the ratio 16.4 : 10.9 : 9.5.

Two more rules sit here. Under ₹10 lakh our plans keep only the four heaviest channels, so at ₹8 lakh this brief would lose DOOH. And a secondary objective is blended in at 30% against 70% for the primary.

Want to see the numbers for your brand?

Get a free DV360 media plan from our team within one working day.

Get a free media plan

How does it choose deals and publishers inside a channel?

A channel can hold open-auction formats and deals with named publishers. When it holds both, our plans set aside 60% of that channel's money for deals.

Candidate publishers are scored: industry fit raises a score, a language or region match raises it further, and a mismatch cuts it sharply. Only publishers whose minimum fits the deal money and whose score clears a threshold are picked, two per channel at most.

In the gaming plan, CTV and OTT has ₹7.5 lakh, so deals could take ₹4.5 lakh. JioHotstar entertainment, ZEE5 and SonyLIV each need about ₹10 lakh, so none fits. A smaller Hindi-language app with a ₹2–3 lakh minimum would, and a generator may suggest one, but whether its content suits young gamers is your call. We assume you leave premium OTT deals out of the formats, so no deal is suggested and the whole ₹7.5 lakh goes to open-auction connected TV.

Weak generators test the ₹10 lakh minimum against the ₹30 lakh total and add the deal anyway. If you name ZEE5 yourself, a sensible generator lets the deal take the whole channel, so at a 25% share you would need about ₹40 lakh. Our guide to DV360 minimum budgets gives the usual minimums for OTT apps, news publishers and DOOH. Any line under 2% of the plan is then removed as too small to optimise.

Which formulas turn a line's budget into delivery?

The rate comes from the most specific card in force: the publisher's, then the format's, then the channel's. Each card holds a default rate, a low and high value, the click and view rates the formulas need, and its start date.

Output How it is worked out
Impressions, CPM line Line budget ÷ CPM × 1,000
Views, CPV line Line budget ÷ CPV, then views ÷ view rate for impressions
Clicks and conversions Impressions × click-through rate, then clicks × conversion rate
Line reach Impressions ÷ frequency cap, a planning shortcut (see the curve below)
Low and high case Mid estimate less or plus 15%

Inside a channel, open-auction money is split by how well each format suits the objective. For awareness our plans score bumpers 0.9 and skippable ads 0.6, so YouTube's ₹12 lakh becomes ₹7.2 lakh and ₹4.8 lakh. Rates are illustrative defaults from our rate card.

Line Budget Rate Impressions Line reach
YouTube bumpers, cap 5 ₹7,20,000 ₹150 CPM 48,00,000 9,60,000
YouTube skippable, cap 3 ₹4,80,000 ₹0.90 CPV 19,04,762 6,34,921
Connected TV, cap 3 ₹7,50,000 ₹450 CPM 16,66,667 5,55,556
In-stream video, cap 3 ₹4,68,000 ₹180 CPM 26,00,000 8,66,667
Display banners, cap 4 ₹3,12,000 ₹70 CPM 44,57,143 11,14,286
Metro DOOH screens, cap 6 ₹2,70,000 ₹400 per 1,000 viewers 6,75,000 viewers 1,12,500

The skippable line shows why view rate matters: ₹4.8 lakh at ₹0.90 buys 5,33,333 views, and if 28% of impressions become views, about 19 lakh impressions sit behind them. DOOH is counted the same way, viewers ÷ its cap of 6, even though screen audiences are estimates rather than unique people.

All of this is media money. The programmatic advertising cost calculator shows how to strip fees and GST out of an all-in figure before any of these sums start.

Which reach method does a generator use, and how much does it change the answer?

Generators handle overlap with one of three levels of care. The crudest adds up line reach: 42.4 lakh people in the gaming plan, which counts the same gamer several times. For channel-by-channel deduplication, GRPs and effective reach, the reach and frequency calculator works through every sum.

The second applies an overlap factor. Our plans keep 72% of summed reach, the same as a 28% overlap discount, which puts the gaming plan at about 30.6 lakh people, shown as 26.0 to 35.1 lakh. Some planners leave DOOH out because screen audiences are estimated viewers. That would take this plan to 29.7 lakh.

The third uses a reach curve. Dividing by a frequency cap assumes everyone sees the ad exactly that often. In practice, light weight reaches many people once, and heavy weight piles impressions onto people already reached. A simple curve is =Ceiling*(1-EXP(-GRPs/Ceiling)), where GRPs are impressions as a percentage of the audience and the ceiling is the most one channel can realistically reach.

In-stream video at ₹180 CPM with a cap of 3, against an audience of 1 crore and an assumed 70% ceiling:

Budget GRPs Curve reach Impressions ÷ 3
₹10 lakh 56 About 38 lakh 18.5 lakh
₹20 lakh 111 About 56 lakh 37.0 lakh
₹40 lakh 222 About 67 lakh 74.1 lakh

The quick method undercounts at light weight and overpromises at heavy weight. On the curve, doubling from ₹20 lakh to ₹40 lakh adds only about 11 lakh people, which is the real case for a second channel instead of more money in the first.

How is spend spread across the weeks?

Each week gets a weight, and its share is that weight divided by the total. Even flighting gives every week 1. Front-loaded falls in a straight line from 1.6 to 0.4, so four weeks run 40%, 30%, 20% and 10%. Burst drops every third week to 0.3. A key date multiplies its week by 1.5 and the week before by 1.2.

For the gaming plan, an even flight with Diwali in week three gives weights of 1, 1.2, 1.5 and 1. That is 21.3%, 25.5%, 31.9% and 21.3%, or ₹6,38,298, ₹7,65,957, ₹9,57,447 and ₹6,38,298, and every line follows the same pattern.

Where do media plan generators go wrong?

Rarely in the arithmetic. Usually a rule is missing or a number has gone stale.

  1. Using one default frequency cap for every format. Our rate card uses 5 for bumpers, 4 for banners and 6 for DOOH, so one flat cap misstates reach on all three.
  2. No floor or ceiling per channel, so one industry multiplier can push a channel past any sensible share.
  3. Testing deal minimums against the total budget instead of the money that channel and deal receive.
  4. Averaging line CPMs. Divide the plan's spend by its impressions and multiply by 1,000, as our CPM calculator guide explains.
  5. A rate card with no date and no season. Diwali and IPL weeks need the top of each range.
  6. One number instead of a range. Rates and delivery move with season and inventory, so show the low and high case and say which assumptions sit behind them.

How can you rebuild the logic in a spreadsheet?

Put the media budget in B1 and the overlap factor (0.72, or your own) in B2. B3 and B4 are helper cells, explained below. Enter one channel per row from row 5 to row 9, using the main format's rate.

Column Entry or formula for row 5
A, channel Type it in
B, base weight From your objective, for example 35
C, industry multiplier 1 if there is none
D, market multiplier For example 1.3 on DOOH for metros
E, adjusted weight =B5*C5*D5
F, raw share =E5/SUM($E$5:$E$9)
G and H, floor and ceiling For example 30% and 40%
I, banded share =MIN(MAX(F5,G5),H5)
J, final share =IF(I5<>F5,I5,F5*(1-$B$3)/$B$4)
K, budget =$B$1*J5
L, deal minimum Blank for open auction
M, minimum check =IF(L5="","",IF(K5>=L5,"Clears","Too small"))
N and O, rate type and rate CPM or CPV, and the rate in ₹
P, view rate CPV lines only, for example 28%
Q, impressions =IF(N5="CPM",K5/O5*1000,K5/O5/P5)
R, frequency cap For example 3, or 6 on the DOOH row
S, line reach =Q5/R5

In B3, total the pinned shares with =SUMPRODUCT((I5:I9<>F5:F9)*I5:I9). In B4, total the raw shares that were not pinned with =SUMPRODUCT((I5:I9=F5:F9)*F5:F9). Column J then holds pinned channels at their band edge and rescales the rest. If a rescaled share crosses its band, pin it by hand; that is the loop a generator runs for you.

Plan reach is =SUM(S5:S9)*B2, times 0.85 and 1.15 for the low and high case. Blended CPM is =SUM(K5:K9)/SUM(Q5:Q9)*1000. Where a channel also carries open-auction lines, test the minimum against the deal's part of column K, not all of it.

Next step

Send us your own brief for a free media plan and hold the plan against the sheet above. Each share traces to a base weight, a multiplier and a band. If a share looks wrong for your brand, tell us and we will change it, keeping the lines you are happy with. We confirm real rates and inventory before anything is booked, as our note on estimates explains.

Frequently asked questions

Why do two media plan generators give different plans for the same brief?

Because their rules and data differ, not their arithmetic. One may start awareness plans heavier on video, apply different industry multipliers, price lines from an older rate card or use a different overlap factor. Before you compare totals, compare the starting mix, the multipliers and the rates behind each plan. A generator that cannot explain why each channel got its share deserves less trust.

Can I override the channel weights a generator picks?

You should be able to. In a plan from us you can ask for any line's share or rate to change and keep the lines you are happy with as they are. The other lines rebalance so the plan still adds up to 100%. Rates can only move between the low and high values on the rate card, so an edit cannot produce a price nobody would sell at.

How fresh does a generator's rate card need to be?

Fresh enough that every rate on the plan carries a date. Each of our rate cards records the date it took effect, older cards stay on file as history, and a plan only uses the cards in force on the day it is built. Season still matters whatever the date, so for Diwali or IPL weeks plan at the top of each range or widen the estimate.

Is a generator's reach estimate good enough for a client proposal?

As a range clearly labelled as an estimate, yes. Show the low and high case rather than the mid figure alone, and say which overlap assumption you used. Once the campaign runs, replace it with deduplicated reach from DV360. If we run the campaign as a managed service, the client follows actual reach and frequency in our DV360 Reports Section rather than through a DV360 login.

How is a plan generator different from forecasting inside DV360?

A generator works before any campaign exists. It chooses channels, splits the money and prices lines from a rate card. DV360's forecasting tools, such as Plans and the line item spend forecast, use the platform's own inventory data for the targeting you enter in an account, so they need DV360 access. Many teams agree the shape of a plan with a generator first, then refine it with DV360 forecasts, as our guide on forecasting impressions in DV360 explains.

Do generated plans include fees and GST?

Usually not. A generator prices lines at media rates, and the indicative rates in ours are before GST. Platform, data and service fees, where they apply, also sit on top. If the figure you enter is all-in, strip those out first, or the plan will promise more delivery than the money can buy.
Share: LinkedInXWhatsAppEmail
Free plan