Case study
Marketing Mix ROI Analysis
End-to-end analysis blending spend, attribution, and revenue across six channels to answer where the next marketing dollar should go. Presented to the CMO and used to reallocate the quarterly budget.
What patterns are hiding in the marketing mix roi data?
Using Python, SQL, and Tableau, the data was explored and analyzed in depth — end-to-end analysis blending spend, attribution, and revenue across six channels to answer where the next marketing dollar should…
The finished project is live and explorable at the link below.
Hover a row to edit · changes save to your portfolio
Problem
Marketing was splitting budget evenly across channels out of habit, not evidence. Last-touch attribution over-credited branded search and made paid social look worthless, so the team kept defunding a channel that might actually be working.
Approach
I built a channel-level dataset in SQL joining ad platform spend, multi-touch attribution, and downstream closed-won revenue. In Python I fit a regression-based marketing mix model with adstock (carryover) and diminishing-returns curves per channel, then validated it against held-out weeks.
I published the response curves in Tableau so non-technical stakeholders could see the point at which each channel stopped returning a profit.
Result
The model showed paid social and webinars were under-funded relative to their marginal ROI, while branded search was well past saturation.
Impact
The CMO reallocated ~18% of the quarterly budget toward the under-funded channels. Blended customer acquisition cost fell 12% the following quarter at the same total spend.