How to play
You are the first CMO of Zippity, a direct-to-consumer e-bike brand with a hit product and
growing sales. Zippity sells online and ships nationwide, so you buy national media against
one audience. Zippity has never advertised before, but is now ready to invest in advertising
to maximize its returns.
Your goal: maximize total profits for shareholders during your one-year
contract. You will make decisions in thirteen consecutive four-week blocks. Profits come from
bike sales net of advertising spending; any unspent money goes back to shareholders. When the
contract ends, the board will review your performance and decide whether to renew your
contract.
Each four-week block
- The CFO memo announces your Max Ad Spend — the most you may spend this block on
advertising and measurement combined.
- You can buy brand advertising, which builds longer-term demand, and/or performance
advertising, which drives immediate sales, in 6 channels: Search, Social, Video, Display,
QMax (an AI-driven ad medium), Influencer. Your ad budgets will be split randomly across the
four weeks within the block.
- Your advertising vendors will report free attribution scores in every period.
- You can pay for an incrementality experiment in any channel with performance spending at
a cost of $100k. Experiments withhold ads from a random 10% of targeted audience and
return a causal estimate of performance ads' iROAS in the channel.
- You may commission a marketing mix model which reports mROAS estimates for each channel
with spending. The MMM only becomes available in Block 3, as it requires sufficient
advertising data to become estimable. The MMM is a Bayesian ridge regression with time trends and
seasonality controls, and is fit to your actual weekly choice data. The MMM specifies
diminishing marginal returns of ad spend, and assumes exponential decay to estimate brand
advertising carryover.
- If you run any incrementality experiment in the same block you commission the MMM, the
MMM performance ad estimate in that channel is calibrated to the experiment's result using
the Bayesian prior distribution. This is true for as many channels as you run
incrementality experiments. Experiments from earlier blocks do not carry over into the
calibration.
- After you complete your spending and measurement decisions within each block, click the
'Submit Allocation' button to find out the resulting sales and profits, and to receive new
measurement information.
Important information
- ROAS is always defined as revenue attributed to advertising ÷ advertising
spending.
- Turning ROAS into profit takes one step, because revenue is not profit. A Zippity
e-bike sells for $2,000 and earns $600 of contribution, so contribution is
30% of revenue. A dollar of advertising therefore earns
30% × ROAS in contribution, and nets
(30% × ROAS) − $1 after paying for itself.
For example, if ROAS is 5.0, then each $1 spent on ads brings in $5 in revenue; Zippity
keeps $1.50 of the $5 as gross margin; and that $1.50 in contribution is offset by the $1
in advertising spent to achieve it. So a ROAS of 5.0 means $0.50 in contribution per
advertising dollar spent. Similarly, a ROAS of 2.0 means we lost $0.40 in contribution per
ad dollar spent.
- The MMM mROAS estimates the extra revenue attributed to one more dollar in that cell at
the given spending level. mROAS will decrease with spending within each channel, at a
channel-specific rate. Brand advertising mROAS estimates are adjusted to account for
carryover into subsequent periods.
- Successful advertising will "fish out the pond" to some degree, but channels will also
replenish at organic rates.
- The estimates notebook keeps every number you have received; the weekly sales chart
includes the eighteen blocks before your arrival.
- The board's year-end decision will depend on your profitability. If your contract is
renewed, you are invited to play another 13 blocks.
- This game is pretty hard. Good luck!
Economics and fine print
- Bikes sell for $2,000; each sale contributes $600 before marketing costs.
- Parameters are drawn randomly for each gameplay code.