marketing-analyst

安装量: 121
排名: #7108

安装

npx skills add https://github.com/borghei/claude-skills --skill marketing-analyst

Marketing Analyst

Expert-level marketing analytics for data-driven decisions.

Core Competencies Campaign performance analysis Attribution modeling Marketing mix modeling ROI measurement Customer analytics Channel optimization Forecasting Reporting and visualization Marketing Metrics Framework Acquisition Metrics Metric Formula Benchmark CPL (Cost per Lead) Spend / Leads Varies by industry CAC (Customer Acquisition Cost) S&M Spend / New Customers LTV/CAC > 3:1 CPA (Cost per Acquisition) Spend / Acquisitions Target specific ROAS (Return on Ad Spend) Revenue / Ad Spend > 4:1 Engagement Metrics Metric Formula Benchmark Engagement Rate Engagements / Impressions 1-5% Click-Through Rate Clicks / Impressions 0.5-2% Conversion Rate Conversions / Visitors 2-5% Bounce Rate Single-page sessions / Total < 50% Retention Metrics Metric Formula Benchmark Churn Rate Lost Customers / Total < 5% monthly Retention Rate 1 - Churn Rate > 95% monthly NRR (Net Revenue Retention) (MRR - Churn + Expansion) / MRR > 100% LTV (Lifetime Value) ARPU × Gross Margin × Lifetime 3x+ CAC Attribution Modeling Model Comparison import pandas as pd

def calculate_attribution(touchpoints, model='linear'): """ Calculate attribution credit for each touchpoint

touchpoints: List of touchpoint events
model: 'first', 'last', 'linear', 'time_decay', 'position'
"""

n = len(touchpoints)
credits = {}

if model == 'first':
    credits[touchpoints[0]] = 1.0

elif model == 'last':
    credits[touchpoints[-1]] = 1.0

elif model == 'linear':
    credit = 1.0 / n
    for tp in touchpoints:
        credits[tp] = credits.get(tp, 0) + credit

elif model == 'time_decay':
    # More recent = more credit
    decay_rate = 0.7
    total_weight = sum([decay_rate ** i for i in range(n)])
    for i, tp in enumerate(reversed(touchpoints)):
        weight = (decay_rate ** i) / total_weight
        credits[tp] = credits.get(tp, 0) + weight

elif model == 'position':
    # 40% first, 40% last, 20% middle
    if n == 1:
        credits[touchpoints[0]] = 1.0
    elif n == 2:
        credits[touchpoints[0]] = 0.5
        credits[touchpoints[-1]] = 0.5
    else:
        credits[touchpoints[0]] = 0.4
        credits[touchpoints[-1]] = 0.4
        middle_credit = 0.2 / (n - 2)
        for tp in touchpoints[1:-1]:
            credits[tp] = credits.get(tp, 0) + middle_credit

return credits

Attribution Report ┌─────────────────────────────────────────────────────────────┐ │ Attribution Analysis - [Period] │ ├─────────────────────────────────────────────────────────────┤ │ Model Comparison (Revenue Attribution) │ │ │ │ Channel First Last Linear Position Data-Driven│ │ Paid Search $250K $180K $210K $220K $215K │ │ Email $120K $200K $160K $165K $170K │ │ Social $80K $50K $65K $60K $58K │ │ Organic $150K $170K $165K $155K $157K │ ├─────────────────────────────────────────────────────────────┤ │ Avg Touches to Conversion: 4.2 │ │ Avg Days to Conversion: 18 │ │ Most Common Path: Paid → Email → Organic → Direct │ └─────────────────────────────────────────────────────────────┘

Campaign Analysis Campaign Performance Template

Campaign Analysis: [Campaign Name]

Overview

  • Type: [Type]
  • Duration: [Dates]
  • Budget: $[Amount]
  • Spend: $[Amount]

Performance Summary

| Metric | Target | Actual | vs Target |

|--------|--------|--------|-----------|

| Impressions | X | Y | +/-% |

| Clicks | X | Y | +/-% |

| Leads | X | Y | +/-% |

| MQLs | X | Y | +/-% |

| Pipeline | $X | $Y | +/-% |

| Revenue | $X | $Y | +/-% |

Channel Breakdown

| Channel | Spend | Leads | CPL | Pipeline |

|---------|-------|-------|-----|----------|

| [Channel] | $X | Y | $Z | $W |

Creative Performance

| Variant | Impressions | CTR | Conv Rate |

|---------|-------------|-----|-----------|

| A | X | Y% | Z% |

| B | X | Y% | Z% |

Audience Insights

Top Performing Segments

Underperforming Segments

Key Learnings

  • [Learning 1]
  • [Learning 2]

Recommendations

  1. [Recommendation]
  2. [Recommendation]

A/B Test Analysis from scipy import stats import numpy as np

def analyze_ab_test(control_conversions, control_total, treatment_conversions, treatment_total, alpha=0.05): """ Analyze A/B test results for statistical significance """ # Conversion rates p_control = control_conversions / control_total p_treatment = treatment_conversions / treatment_total

# Pooled probability
p_pool = (control_conversions + treatment_conversions) / \
         (control_total + treatment_total)

# Standard error
se = np.sqrt(p_pool * (1 - p_pool) *
             (1/control_total + 1/treatment_total))

# Z-score
z = (p_treatment - p_control) / se

# P-value
p_value = 2 * (1 - stats.norm.cdf(abs(z)))

# Lift
lift = (p_treatment - p_control) / p_control

return {
    'control_rate': p_control,
    'treatment_rate': p_treatment,
    'lift': lift,
    'lift_pct': lift * 100,
    'z_score': z,
    'p_value': p_value,
    'significant': p_value < alpha,
    'confidence': 1 - alpha
}

Marketing Mix Modeling MMM Framework SALES = β₀ + β₁(TV) + β₂(Digital) + β₃(Print) + β₄(Seasonality) + ε

Components: - Base: Organic demand without marketing - TV: Television advertising impact - Digital: Digital channels (paid, social) - Print: Print advertising impact - Seasonality: Time-based patterns - Carryover: Delayed effects (adstock)

Outputs: - Channel contribution to sales - ROI by channel - Optimal budget allocation

Budget Optimization ┌─────────────────────────────────────────────────────────────┐ │ Budget Allocation Recommendation │ ├─────────────────────────────────────────────────────────────┤ │ Channel Current Optimal Change Expected ROI │ │ Paid Search 30% 35% +5% 4.2x │ │ Social Paid 25% 20% -5% 2.8x │ │ Display 15% 10% -5% 1.5x │ │ Email 10% 15% +5% 8.5x │ │ Content 10% 12% +2% 5.2x │ │ Events 10% 8% -2% 2.2x │ ├─────────────────────────────────────────────────────────────┤ │ Projected Impact: +15% pipeline with same budget │ └─────────────────────────────────────────────────────────────┘

Reporting Marketing Dashboard ┌─────────────────────────────────────────────────────────────┐ │ Marketing Performance - [Month] │ ├─────────────────────────────────────────────────────────────┤ │ ACQUISITION │ │ Visitors: 125K (+12%) Leads: 5.2K (+8%) CAC: $145 (-5%)│ ├─────────────────────────────────────────────────────────────┤ │ PIPELINE │ │ MQLs: 823 SALs: 495 SQLs: 198 Pipeline: $2.4M │ │ Conv: 15.8% Conv: 60.1% Conv: 40.0% vs Goal: +108% │ ├─────────────────────────────────────────────────────────────┤ │ REVENUE │ │ Marketing Revenue: $580K ROI: 5.2x vs Goal: +115% │ ├─────────────────────────────────────────────────────────────┤ │ CHANNEL PERFORMANCE │ │ [Bar chart by channel showing leads and pipeline] │ ├─────────────────────────────────────────────────────────────┤ │ TRENDS │ │ [Line chart showing key metrics over time] │ └─────────────────────────────────────────────────────────────┘

Executive Summary Template

Marketing Performance: [Period]

Headline

[One sentence summary of performance]

Key Metrics

| Metric | Actual | Goal | Status |

|--------|--------|------|--------|

| Leads | X | Y | 🟢/🟡/🔴 |

| MQLs | X | Y | 🟢/🟡/🔴 |

| Pipeline | $X | $Y | 🟢/🟡/🔴 |

| Revenue | $X | $Y | 🟢/🟡/🔴 |

Wins

  • [Win 1]
  • [Win 2]

Challenges

  • [Challenge 1]
  • [Challenge 2]

Next Period Focus

  • [Focus area 1]
  • [Focus area 2]

Reference Materials references/metrics.md - Marketing metrics guide references/attribution.md - Attribution modeling references/reporting.md - Reporting best practices references/forecasting.md - Forecasting methods Scripts

Campaign analyzer

python scripts/campaign_analyzer.py --data campaigns.csv --output report.html

Attribution calculator

python scripts/attribution.py --touchpoints journeys.csv --model position

ROI calculator

python scripts/roi_calculator.py --spend spend.csv --revenue revenue.csv

Forecast generator

python scripts/forecast.py --historical data.csv --periods 6

返回排行榜