Case study

AnalysisPythonSQLTableau

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.

Case study
Variation 1/3
Question

What patterns are hiding in the marketing mix roi data?

Approach

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…

Result

The finished project is live and explorable at the link below.

Hover a row to edit · changes save to your portfolio

Marketing Mix ROI Analysis

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.