Marketing Analytics
480 words
2 min read
Visual companion
Python
Type and operator map
Python Week 1: the first filter for runtime behavior
View
Revision summary
What this note is really saying
Short form
# Marketing Analytics ## 🎯 Learning Objectives - Calculate and interpret marketing KPIs (CAC, LTV, ROAS, ROMI) - Design marketing attribution models - Apply marketing mix modeling to optimize spend - Build customer acquisition and retention dashboards ## 📖 Core Content ### 6.1 Marketing KPIs KPI Formula Interpreta...

Marketing Analytics
🎯 Learning Objectives
- Calculate and interpret marketing KPIs (CAC, LTV, ROAS, ROMI)
- Design marketing attribution models
- Apply marketing mix modeling to optimize spend
- Build customer acquisition and retention dashboards
📖 Core Content
6.1 Marketing KPIs
| KPI | Formula | Interpretation |
|---|---|---|
| CAC (Customer Acquisition Cost) | Total marketing spend / New customers | Lower is better. Compare to CLV. |
| ROAS (Return on Ad Spend) | Revenue from ads / Ad spend | > 1 = profitable. Target 3-4× typically. |
| ROMI (Return on Marketing Investment) | (Revenue - Spend) / Spend | > 0 = positive return. |
| Conversion Rate | Conversions / Visitors | Industry varies (2-5% e-commerce). |
| Churn Rate | Customers lost / Total customers | < 5% monthly is typical. |
| Share of Voice | Brand mentions / Total market mentions | Leading indicator of market share. |
6.2 Marketing Attribution
Attribution models determine how credit is assigned to touchpoints in the customer journey.
| Model | Description | Best For |
|---|---|---|
| Last Click | 100% credit to last touchpoint | Simple, easy to implement |
| First Click | 100% credit to first touchpoint | Brand awareness campaigns |
| Linear | Equal credit to all touchpoints | Balanced view |
| Time Decay | More credit to recent touchpoints | Long sales cycles |
| Position Based | 40% first + 40% last + 20% middle | Full-funnel campaigns |
| Data-Driven | Algorithmic attribution using ML | Sophisticated marketing teams |
6.3 Marketing Mix Modeling (MMM)
MMM uses regression to quantify the impact of various marketing channels on sales:
Outputs:
- ROAS per channel
- Diminishing returns (saturation curves)
- Optimal budget allocation across channels
python# runnable import numpy as np from sklearn.linear_model import LinearRegression # Sample MMM data channels = ['TV', 'Digital', 'Print', 'Events'] spend = np.array([[100, 50, 20, 10], [120, 45, 25, 15], [90, 60, 15, 8], [110, 55, 22, 12], [80, 70, 18, 9]]) sales = np.array([500, 520, 480, 510, 490]) model = LinearRegression() model.fit(spend, sales) for ch, coef in zip(channels, model.coef_): print(f"{ch}: +{coef:.2f} units per $1k spend")
6.4 Customer Acquisition Funnel
(Diagram)
📝 Practice Questions
Q1: If CAC = 200andCLV=600, is this healthy?CLV:CAC ratio = 3:1 — generally healthy. Rule of thumb: > 3:1 is good, > 5:1 is excellent, < 1:1 means you're losing money on every customer. However, context matters: SaaS companies typically require 3-5× due to delayed revenue recognition. Q2: Why use data-driven attribution over last-click?Last-click unfairly credits the final touchpoint (e.g., a search ad). But the customer might have discovered the brand through a blog post (organic), researched via social media, then clicked a retargeting ad. Last-click ignores the discovery and consideration phases, leading to underinvestment in upper-funnel channels. Q3: What causes diminishing returns in marketing spend?The first dollar of TV spend reaches the most receptive audience. Additional spend reaches people who are less interested, less targeted, or already saturated. The curve follows: Sales = β × ln(Spend), where each additional dollar generates less incremental response than the previous one. Join Discord PreviousFinancial & HR AnalyticsNextSupply Chain Analytics