A marketing mix model needs at least two years of weekly data covering your media spend by channel, your sales or revenue, your pricing, and any external factors that affect demand. The better your data, the more reliable the model.
Data preparation is the part of an MMM project that takes the most time and causes the most delays. Knowing what you need before the project starts saves weeks of back-and-forth and means the analysts can focus on building the model rather than chasing spreadsheets.
The core data categories
Every MMM project needs four categories of data. Missing any one of them forces the modeller to make assumptions, which reduces confidence in the results.
- Sales or revenue data: weekly totals, ideally by product category and region
- Media spend data: how much you spent on each channel each week, not impressions or clicks
- Pricing and promotional data: average selling price, discount depth, promotional periods
- External data: seasonality, competitor activity, economic indicators, weather if relevant
Sales data: what good looks like
The outcome variable, meaning what the model is trying to explain, is usually weekly revenue or weekly unit sales. If your business sells through multiple channels such as retail, e-commerce and wholesale, you need sales from all of them. A model built on e-commerce data alone will miss the contribution of channels that drive in-store purchases.
Two years of weekly data is the minimum. Three years is better. Longer data series let the model observe more variation in both spend and sales, which produces tighter coefficient estimates.
Media spend data: why cost matters more than impressions
MMM uses cost data, not impressions or clicks. The reason is that cost represents the investment decision you made. The model can then calculate how much revenue that investment generated. You need spend broken down by channel, by week, for the same period as your sales data.
Channels typically included are TV (split by region or format if possible), paid search, paid social, programmatic display, radio, out-of-home (OOH), and print. If you run influencer or affiliate programmes, include those too.
One of the most common data gaps is offline media. If you have TV or radio spend but cannot extract it from your agency by week, the model will underestimate that channel's contribution. Always request weekly spend from your media agency before the project starts.
Pricing and promotional data
Price changes and promotions can drive large swings in sales. Without them in the model, the uplift gets incorrectly attributed to whichever media channel happened to be running at the same time. You need the average selling price per week and a flag for each promotional event, including its depth and duration.
External factors you may not have thought about
Some external factors are provided by the modeller as part of the project. These include public holidays, school term dates, and economic data such as the consumer confidence index. Others are specific to your category, for example temperature data if you sell seasonal products, or football fixture schedules if your sales spike around major sporting events.
You do not need to source all of this yourself. Your modelling partner will tell you what is needed and pull in publicly available data on your behalf. Your job is to supply the business-specific data that only you hold.
Can we run an MMM if we only have one year of data?
It is possible, but the results will be less reliable. One year of data may not contain enough variation in spend levels, especially if your media plan stayed consistent throughout. Discuss this with your modelling partner before starting.
Does the data need to be in a specific format?
No fixed format is required. Most modellers work with spreadsheets or CSV files. What matters is consistency: the same time granularity (weekly), the same time period, and clear labels for each variable.
We do not track all our offline spend carefully. Is that a problem?
Incomplete spend data is common. Modellers can work with partial data, but they will flag that those channels may have unreliable coefficients. The best approach is to make your best estimate of historical spend rather than exclude the channel entirely.
