# Media Mix Modeling for Mobile: What Data is Needed?

- Link: https://phiture.com/mobilegrowthstack/media-mix-modeling-for-mobile-what-data-is-needed/
- Published: 2022-07-05T12:07:03+01:00
- Author: Mike Taylor and Michael Kaminsky

![](https://phiture.com/wp-content/uploads/2022/07/Media-Mix-Modeling-for-Mobile_-
what-data-is-needed_-300x164.jpg)

This is a guest post about Media Mix Modeling (MMM) for the Mobile Growth Stack,
from [Mike Taylor](https://www.linkedin.com/in/mjt145/) formerly at [Ladder](https://ladder.io/)
where he worked with Monzo Bank and [Michael Kaminsky](https://www.linkedin.com/in/michael-the-data-guy-kaminsky/)
at [Recast](https://getrecast.com/). MMM falls under Predictive Models under Growth
and Insights in the Mobile Growth Stack and is experiencing a resurgence in popularity
following Apple’s iOS14 update which limits user tracking. Here Mike and Michael
take us through best practices for this increasingly popular area of attribution.

Table of Contents

 * [Media Mix Modeling](https://phiture.com/mobilegrowthstack/media-mix-modeling-for-mobile-what-data-is-needed/#media_mix_modeling)
 * [Who is MMM for?](https://phiture.com/mobilegrowthstack/media-mix-modeling-for-mobile-what-data-is-needed/#who_is_mmm_for)
 * [What data is useful for Mobile Apps doing MMM?](https://phiture.com/mobilegrowthstack/media-mix-modeling-for-mobile-what-data-is-needed/#what_data_is_useful_for_mobile_apps_doing_mmm)
 * [Building an MMM for a Mobile App in Excel / GSheets](https://phiture.com/mobilegrowthstack/media-mix-modeling-for-mobile-what-data-is-needed/#building_an_mmm_for_a_mobile_app_in_excel_gsheets)
 * [What are your options for more advanced MMM?](https://phiture.com/mobilegrowthstack/media-mix-modeling-for-mobile-what-data-is-needed/#what_are_your_options_for_more_advanced_mmm)

## **Media Mix Modeling**

Post iOS14, marketers no longer have comprehensive user-level data, so privacy-friendly
methods like Media Mix Modeling have seen a resurgence in popularity. MMM works 
by matching spikes and dips in sales to events and actions in marketing, in order
to estimate performance using aggregate data only. It’s a holistic approach, which
works with offline data as well as digital data, so is essential for mobile advertisers
who have ‘graduated’ to TV ads or other hard-to-measure channels. The advantage 
of MMM is its ability to establish incrementality independent of what the platforms
report, and make predictions on what performance would look like if you scale ad
spend. MMM also holds the promise of being able to tell us how much external factors
like app store ranking, COVID, or the economy, impact the number of app installs
we acquire. 

Modern tools can make using this complex technique more efficient and even real-
time, and it is particularly useful for informing large-scale, cross-budget decisions.
Investment in this area by Facebook, Google, and a host of new vendors like [Recast](https://getrecast.com/)
that are modernizing this process, is paying off, and making real-time model updates
possible. However, the majority of brands using this method still carry it out on
a quarterly or yearly basis, as modern practices have yet to be universally adopted.
Using probabilistic methods like MMM requires a mindset shift: rather than bottom
up, campaign, and creative level data, you’re working from the top down and can’t
get as granular. Before worrying about fancy machine learning algorithms, [getting all of your data in one place and in the right format](https://www.saxifrage.xyz/post/data-request-checklist)
is typically 60% of the work, and that’s the place to start, before worrying about
fancy machine learning algorithms. 

## **Who is MMM for?**

Much has been written about Media Mix Modeling in the wake of Apple’s iOS14 update,
which saw users opting out of tracking in droves. However, mobile app marketers 
could be forgiven for being lost on where to start with the technique, as the majority
of content is geared towards the Consumer Packaged Goods (CPG) or retail industries.
The good news is that MMM is well suited to mobile apps, so long as you know what
data is needed. It even works well for smaller apps which don’t have much data. 
That’s because it uses time series data, so all companies big and small have the
same number of observations (days or weeks) to feed into the model (though the amount
of variance between data points is also important).

The technique was developed in the 1960s, as a way of using linear regression to
model the impact of various strategic and tactical decisions made in relation to
the marketing mix. There were no digital ads back then, so there were none of the
benefits of digital tracking. The technique was developed as a top down approach
to setting budgets across channels that worked holistically across every marketing
channel. It became more important in the light of the Enron scandal, as Section 
404 of the Sarbannes-Oxley Act dictated that all public companies must provide justification
for large expenditures. Thus, marketing was suddenly accountable. 

The major benefit of MMM is that it doesn’t require user level data, so it has become
incredibly popular for companies that can no longer track users effectively after
Apple’s iOS14.5 update. It takes aggregate data on your marketing spend, press mentions,
and app store ranking, and matches spikes and dips in those variables to the number
of app installs you received. Rather than linear regression in Excel, most modern
practitioners use advanced machine learning or [Bayesian methods](https://getrecast.com/bayesian-methods-for-mmm/)
to determine what share of sales each channel drove. Because it only requires aggregate
data, the method works for hard-to-measure channels like TV or PR, where there is
no one-to-one user relationship to track. It also is a great way of estimating incremental
impact without having to run costly incrementality tests, or rely on platform reporting.

## **What data is useful for Mobile Apps doing MMM?**

The technique is called Marketing Mix Modeling because you’re attempting to model
the various factors of your marketing mix. Historically, the marketing mix is centered
around the 4 Ps: Promotion, Price, Place, Product. Some factors that are commonly
important in traditional MMM work aren’t as relevant for all mobile apps; for example,
competitor price changes rarely have any significant impact on the app installs,
usage or sales of a mobile game, but might be more relevant for an ecommerce app.
So what is useful to model?

### **App Store Ranking**

One of key factor essential for Mobile Apps is your App Ranking, which correlates
very highly with your app installs. This is great in that it’s relatively straightforward
to get access to historic ranking information from a 3rd-party provider like App
Annie. However, this is a tricky variable to model because it’s a causal loop: higher
ranking drives more installs, but also driving more installs pushes ranking higher.
It’s also important to transform app store ranking to account for non-linearity:
going from rank 2 to 1 could be worth 10s of thousands of installs per day, whereas
going from 11 to 10 will be far less impactful.

### **PR and Word of Mouth**

Another factor which is of significant importance in the mobile app space is PR 
or press coverage. How much influence this factor has can depend on the industry.
For example, this is less marked in the gaming industry, but in the productivity
space even a single feature can drive hundreds or thousands of downloads. If you’re
doing any cross promotional events, or discounts and sales that can also drive significant
engagement, sharing and word of mouth are crucial. The latter is a less obvious 
driver of installs in the digital space, but I’ve found success including your daily
active users (DAU) in your model, because it’s a [fairly stable predictor](https://www.reforge.com/blog/how-to-calculate-your-word-of-mouth-coefficient)
of unattributed installs: the more people use your app, the more chances they have
to tell someone about it.

### **Media Spend**

One source of data that’s common between both traditional Consumer Packaged Goods(
CPG) / Retail Marketing Mix Modeling and modern MMM for mobile apps is media spend.
The channels may be different, as TV is traditionally more important for retail,
whereas social channels like Facebook and TikTok are more important for mobile, 
but daily ad spend is a must for your model. You can get additional accuracy from
modeling impressions instead of (or as well as) spend, but I prefer to make the 
model more interpretable by only including spend. With media spend it’s important
to account for Adstock effects (the delayed impact of spend over time) and Saturation(
declining efficiency as spend increases) by transforming the data to account for
lags and non-linearity. 

### **Seasonality**

Finally, it’s important to have a strategy for how to include seasonality. Depending
on the industry and region, month of the year seasonality tends to be the most significant,
as mobile behavior tends to change significantly towards the holiday season. It 
can also be useful to factor in the weather, depending on your industry.  For example
people tend to play mobile games less on sunny days, or are more likely to use a
taxi app when it’s raining. Day of week seasonality matters as people typically 
can’t use their phones as much at work as they do during the weekend. However, be
careful how you model seasonality – if you ‘control for’ it you can end up with 
the answer to the wrong question – the goal is to [model how your marketing works during seasonal changes in demand](https://getrecast.com/seasonality/),
not despite those changes.

## **Building an MMM for a Mobile App in Excel / GSheets**

Marketing mix models don’t need to be complex, at least not to begin with. In an
afternoon you can build a simple MMM that accounts for most of the variations in
your data, and can make ~80% correct predictions about the future (depending on 
your data of course). To show you how to do this for a mobile app, this Vexpower
course entitled “[iOS14 Broke Our Tracking!](https://app.vexpower.com/sim/ios14-broke-our-tracking/)”
follows a fictional company ‘Bank of Yu’ that must build a marketing mix model in
response to loss of tracking from iOS14. You can download the data and final model
below to follow along.

 * [BoY ABT](https://docs.google.com/spreadsheets/d/1419Z2C_ASddVJ4CFq2fn6vCfuTy03U7gbt-wFBLAax0/edit#gid=0)
 * [BoY Model](https://docs.google.com/spreadsheets/d/1Kr9jRL-u54vOidFj0XW8nClQ_4uSVbEpRgIxM4Xe8Qw/edit#gid=0)

To begin with marketing mix modeling, you first must get your data in tabular format.
For example, in the datasheet provided there is a simple mix of various important
factors mentioned in the previous paragraphs, all labeled with a column name and
one single row entry per week. You can use daily or weekly data for mix modeling,
but for simple models weekly data is advisable because they tend to have less noise
from day of week trends, and can therefore be more stable and robust. For more complex
models you need more observations to support more variables (a rule of thumb is 
10 observations per variable), so daily data may be needed.

 

![](https://phiture.com/wp-content/uploads/2022/07/image3-300x165.png)

 

You can see the App Installs, which is what we’re trying to predict or attribute,
and the various variables we think predict it. Active Users is included to factor
in word of mouth (more users = more chances to share), and Facebook Ads is an important
driver of app installs. Also useful to include is the AppStore Rank, and the Press
Coverage that our app has received. Because our app store rank is relatively low
and doesn’t change much, we probably don’t need to worry about transforming that
column to account for non-linear effects, though I would recommend that in a more
advanced model. In that case, there are multiple options to try, though a simple
[power function](https://analyticsartist.wordpress.com/2015/03/08/advertising-diminishing-returns-saturation/)
often suffices (take the data to the power of a number between 0 and 1, found through
trial and error based on what most improves model accuracy).

Once you have your data in the right format, creating a model is as simple as using
the LINEST function. This takes in the y variable you’re trying to predict (for 
us, App Installs), and the X variables (Active Users, Facebook Ads, Press Coverage
and AppStore Rank) that we wish to use to predict it. Then we select a 1 or TRUE
for the next two parameters, to add an intercept and produce verbose output. That
leaves us with a series of unexplained numbers and #N/A cells to deal with.

 

![](https://phiture.com/wp-content/uploads/2022/07/image1-300x138.png)

 

The most important parts of the model are the coefficients in the top row, and the
left most cell 3 down, the R Squared value. The R Squared is a measure of how well
the model fits the data. Assuming the R Squared is above 0.7 you should be relatively
confident in making simple directional predictions, as we’re doing here. Model accuracy
can be calculated as the Mean Absolute Percentage Error or MAPE. For this, you take
the average of the errors (the difference between what the model predicts and the
actual data observed) as an absolute percentage of the actual value. We’ve done 
this for the sample (i.e. on data our model has seen), but ideally you’d want to
hold around 10-20% of your data out (meaning, exclude it from the dataset used to
create the model) to calculate out of sample accuracy (on data it hasn’t seen yet).
For clues as to what’s wrong, check the errors and see if there are patterns. For
example, if a variable is non-linear – like app ranking – you may see the error 
getting worse as you rank higher. In this case, the above suggestion for transforming
app rank data to account for non-linear effects may be helpful.

![](https://phiture.com/wp-content/uploads/2022/07/image4-300x186.png)

 

Note that the variables for the coefficients come out in reverse order, with the
Intercept at the end (the baseline installs we’d get with no marketing). The coefficients
can be interpreted as how many app installs we get per unit of that variable. So
for example, if the AppStore rank goes up (i.e. a lower rank), we lose 1.1 installs
per week. As well as the accuracy, it’s also important to check that the results
are plausible, for example, are any coefficients showing as negative when they should
be positive, or vice versa, or have any coefficients become much bigger or smaller
than you’d expect from your experience? If you multiply the coefficient for each
variable by its input (i.e. the media spend for that week) you get its contribution
to installs. Summing up all of the contributions will give you your prediction, 
which you can visually compare against the actual values to see where the model 
gets it right, or wrong. This can sometimes give you clues as to important variables
you might be missing; for example, a sale period, new channel, or promotional campaign
that you were missing from your model.

 

![](https://phiture.com/wp-content/uploads/2022/07/image2-300x186.png)

Assuming we trust the model (and most of the effort goes into getting to that point),
we can move on to making recommendations from it. The main goal of this exercise
is to determine the true impact of our media spend, so let’s do that now. The coefficient
for Facebook ads can be used to calculate the incremental CPI (Cost Per Install)
by taking 1/coefficient, so a 0.19 coefficient means a 1/0.19=5.16 CPI. If Facebook
was reporting your CPI as $6.38, you now know that they were underreporting likely
due to iOS14, and can use a multiplier to adjust your figures. Tomorrow if the Facebook
interface says your CPA is $7.00, you can multiply it by 0.81 and be reasonably 
sure the true CPA for Facebook today is actually closer to $5.67.

## **What are your options for more advanced MMM?**

Once you’ve built your first model in a spreadsheet and have achieved useful results,
you’ll want to start improving the model. Making the model more accurate will help
you make better decisions, and automating the data collection and modeling process
will mean you can make decisions quickly rather than waiting for weeks for a model
update. Thankfully the renaissance in MMM has provided many options to improve the
process and deliver better accuracy.

### **Data Pipelines**

These days every ad platform, SaaS tool, and cloud database can easily be connected
together, making the job of data collection much simpler to automate than it was
in the past. It’s best practice to use a tool like Supermetrics or Funnel to pump
the data from all available sources into a Google Sheet or BigQuery database, then
export that automatically to wherever the model is being built, be that Excel, GSheets,
or a custom code implementation. It’s also possible to build your own data pipelines,
or use a more technical ETL solution like Singer.

### **Open Source Libraries**

There has been significant investment in open source solutions by the big tech players,
who are rooting for MMM as a potential savior to the loss of tracking visibility
that came with iOS14. Facebook (Meta) has made the biggest investment in MMM to 
date, with their [Robyn library](https://facebookexperimental.github.io/Robyn/),
which has a [number of advanced features](https://getrecast.com/facebook-robyn/).
Google has written [several papers](https://research.google/pubs/pub46001/) on marketing
mix modeling best practices, and has also released an unofficial open source [MMM project](https://github.com/google/lightweight_mmm).
There are also good options for open source libraries that let you build your own
tools using linear regression, or even machine learning, like [SKLearn](https://scikit-learn.org/stable/).
For [Bayesian](https://getrecast.com/bayesian/) solutions, there are [MMM tutorials](https://getrecast.com/bayesian-mmm/)
that show how to use libraries such as Stan.

### **Automated Tools**

There have been a host of startups created in this space in recent years, as companies
struggle to [build their own](https://getrecast.com/marketing-mix-modeling-software/)
solutions ([MMM is hard](https://getrecast.com/mmm-hard/)!). Many are simply white
labeling open source libraries like Robyn, and building their own data connectors,
which we believe is a short-lived approach that will only last until in-house data
and engineering teams can catch up. More serious players in the space like Sellforte,
Northbeam and of course our own solution [Recast](http://getrecast.com) use proprietary
algorithms which each have their own strengths and weaknesses – it’s a case of reviewing
the top solutions against a [checklist of best practices](https://getrecast.com/mmm-checklist/)
and seeing which is best for your business.

 

### **Before you go: **

 * Media Mix Modeling is a part of [the Mobile Growth Stack](https://phiture.com/mobilegrowthstack/what-is-the-mobile-growth-stack-426c6e474329/),
   in light of the end of comprehensive user-level data with iOS14. 
 * Please make use of our Mobile Growth Stack [Slack Stack channel](https://phiture.com/asostack/aso-stack-slack-group-3757fc2aff0f/)
   to ask any questions about MMM and we’d love to answer them where we can.
 * [Check out our deep dive](https://phiture.com/mobilegrowthstack/a-guide-to-your-mobile-measurement-partners-ios-14-skadnetwork-changes/)
   into the solutions offered by mobile measurement partners (MMPs) such as [AppsFlyer](https://www.appsflyer.com/),
   [Adjust](https://www.adjust.com/), [Branch](https://branch.io/), [Singular](https://www.singular.net/),
   [Kochava](https://www.kochava.com/), and [Tenjin](https://www.tenjin.io/). We
   cover conversion value models, SKAN dashboards, and technical implementation 
   guides for developers and marketers, and finish off with an impact summary across
   all the major ad networks such as Google, Facebook, Snapchat, TikTok, and Apple
   Search Ads. 
