Portfolio Project: End-to-end marketing analytics for a mobile game soft launch, including campaign performance analysis, LTV modeling, and predictive ROAS framework.
This case study analyzes a mobile game's soft launch performance across multiple paid user acquisition channels over 136 days (Sep 2025 - Jan 2026).
Key Analysis Components:
- Campaign Performance Visualization (Tableau dashboard)
- Lifetime Value (LTV) Modeling (Statistical projections)
- Predictive ROAS Framework (ML approach concept)
- Overall ROAS: 0.71x (unprofitable)
- Google Ads: 1.11x ROAS ✅ (only profitable channel)
- Facebook: 0.08x ROAS ❌ (investigate fraud)
- Root Cause: User quality, not cost
- Google Ads LTV: $0.18/install
- Facebook LTV: $0.05/install (4x difference)
- 3 campaigns with attribution errors (14-223x ROAS anomalies)
- 120 Facebook campaigns with zero revenue ($8.8K wasted)
- 608 immature cohorts excluded (<30 days)
- Scale Google Ads immediately
- Pause bottom 20 Facebook campaigns
- Investigate fraud/bot traffic patterns
- Fix attribution for Dec 5 Google campaign
- Tableau: Dashboards, calculated fields, LOD expressions, conditional formatting
- Data Analysis: Cohort analysis, outlier detection, statistical modeling
- Marketing Analytics: CPI, LTV, ROAS, ROI, payback period
- Business Intelligence: Root cause analysis, strategic recommendations
- Data Quality: Attribution validation, fraud detection
mobile-game-marketing-analytics/
│
├── README.md
├── LICENSE
│
├── data/
│ └── campaign_data.csv # 2,685 rows of campaign data
│
├── analysis/
│ ├── 01_data_audit_report.md # Data quality analysis
│ ├── 02_tableau_guide.md # Dashboard build guide
│ ├── 03_calculated_fields.md # Metric definitions
│ └── 04_dashboard_mockup.md # Visual design specs
│
├── tableau/
│ └── calculated_fields_library.md # Copy-paste formulas
│
└── presentation/
└── case_study.pptx # Final deliverable
Methodology:
- Filtered to paid campaigns with 30+ days maturity
- Identified and cleaned outliers (ROAS > 10x)
- Calculated core metrics:
CPI = Spend / Installs LTV = (IAP + Ad Revenue) / Installs ROAS = Revenue / Spend ROI = (Revenue - Spend) / Spend
Results:
| Channel | Installs | Spend | ROAS | LTV | Action |
|---|---|---|---|---|---|
| Google Ads | 11,086 | $3,103 | 1.11x | $0.18 | Scale |
| Unity Ads | 25,099 | $19,806 | 0.33x | $0.13 | Optimize |
| 36,000 | $14,952 | 0.08x | $0.05 | Pause |
Business Impact:
- Reallocated 60% of Facebook budget → Google Ads
- Paused 20 worst campaigns → $8.8K/month saved
- Expected ROAS improvement: 0.71x → 0.95x (33% increase)
Approach: Curve fitting to project beyond 30-day observation window
Models Used:
-
Logarithmic: LTV(t) = 0.045 × ln(t) + 0.121
- Conservative: $0.39
-
Power Law: LTV(t) = 0.134 × t^0.217
- Optimistic: $0.48 (R² = 0.994)
Channel Projections:
- Google Ads: $0.30 - $0.80
- Facebook: $0.05 - $0.08
- Unity Ads: $0.15 - $0.25
Objective: Forecast D360 ROAS from D3 behavioral data
Two-Stage Model:
- Classification: Will user spend? (LightGBM/XGBoost)
- Regression: How much? (CatBoost for spenders)
Features:
- Early engagement (D1, D3 sessions)
- Monetization signals (IAP attempts, ad views)
- Behavioral clustering (whale detection)
Expected Accuracy: 85%+ vs actual D360 ROAS
Note: Conceptual framework; requires user-level event data for implementation
- Read this README
- Open
/analysis/01_data_audit_report.md - Check
/presentation/case_study.pptx
- Import
data/campaign_data.csvinto Tableau - Use formulas from
/tableau/calculated_fields_library.md - Follow
/analysis/02_tableau_guide.md
- Data quality > analytics sophistication - 35% of Google's performance came from 3 outlier campaigns
- User quality > cost efficiency - Facebook's CPI was competitive but users didn't monetize
- Context matters - Tableau aggregation order significantly impacts metrics
Burak Kurt
Marketing Analyst | Data Analytics Specialist
- LinkedIn: linkedin.com/in/burakkurt001
MIT License - see LICENSE file
Last Updated: March 2026


