PromptShop

Campaign Analytics

This skill provides production-grade campaign performance analysis using multi-touch attribution modeling, funnel conversion analysis, and ROI calculation. I...

Install

npx promptshop add campaign-analytics

Details

What This Skill Does

  • This skill provides production-grade campaign performance analysis using multi-touch attribution modeling, funnel conversion analysis, and ROI calculation.
  • It offers three Python CLI tools that are deterministic and repeatable, using only the standard library.
  • It is designed for marketing analysts and data scientists who need to analyze campaign data without external dependencies.

When to Use

  • Analyze multi-channel marketing campaign attribution.
  • Calculate return on investment for marketing campaigns.
  • Analyze funnel conversion rates.
  • Validate JSON input data for campaign analysis.
  • Generate reports on campaign performance.
  • Identify high-performing channels and touchpoints.

Key Features

  • Uses standard library only, no external dependencies.
  • Provides three distinct analysis tools.
  • Accepts JSON input for easy data integration.
  • Supports multiple output formats.
  • Includes input validation to prevent errors.
  • Offers deterministic and repeatable analytics.

Campaign Analytics

Production-grade campaign performance analysis with multi-touch attribution modeling, funnel conversion analysis, and ROI calculation. Three Python CLI tools provide deterministic, repeatable analytics using standard library only -- no external dependencies, no API calls, no ML models.

Input Requirements

All scripts accept a JSON file as positional input argument. See assets/sample_campaign_data.json for complete examples.

Attribution Analyzer

{ "journeys": [ { "journey_id": "j1", "touchpoints": [ {"channel": "organic_search", "timestamp": "2025-10-01T10:00:00", "interaction": "click"}, {"channel": "email", "timestamp": "2025-10-05T14:30:00", "interaction": "open"}, {"channel": "paid_search", "timestamp": "2025-10-08T09:15:00", "interaction": "click"} ], "converted": true, "revenue": 500.00 } ] }

Funnel Analyzer

{ "funnel": { "stages": ["Awareness", "Interest", "Consideration", "Intent", "Purchase"], "counts": [10000, 5200, 2800, 1400, 420] } }

Campaign ROI Calculator

{ "campaigns": [ { "name": "Spring Email Campaign", "channel": "email", "spend": 5000.00, "revenue": 25000.00, "impressions": 50000, "clicks": 2500, "leads": 300, "customers": 45 } ] }

Input Validation

Before running scripts, verify your JSON is valid and matches the expected schema. Common errors:

Missing required keys (e.g., journeys, funnel.stages, campaigns) → script exits with a descriptive KeyError Mismatched array lengths in funnel data (stages and counts must be the same length) → raises ValueError Non-numeric monetary values in ROI data → raises TypeError

Use python -m json.tool your_file.json to validate JSON syntax before passing it to any script.

Output Formats

All scripts support two output formats via the --format flag:

--format text (default): Human-readable tables and summaries for review --format json: Machine-readable JSON for integrations and pipelines

Typical Analysis Workflow

For a complete campaign review, run the three scripts in sequence:

Step 1 — Attribution: understand which channels drive conversions

python scripts/attribution_analyzer.py campaign_data.json --model time-decay

Step 2 — Funnel: identify where prospects drop off on the path to conversion python scripts/funnel_analyzer.py funnel_data.json

Step 3 — ROI: calculate profitability and benchmark against industry standards python scripts/campaign_roi_calculator.py campaign_data.json

Use attribution results to identify top-performing channels, then focus funnel analysis on those channels' segments, and finally validate ROI metrics to prioritize budget reallocation.

How to Use

Attribution Analysis

Run all 5 attribution models

python scripts/attribution_analyzer.py campaign_data.json

Run a specific model python scripts/attribution_analyzer.py campaign_data.json --model time-decay

JSON output for pipeline integration python scripts/attribution_analyzer.py campaign_data.json --format json

Custom time-decay half-life (default: 7 days) python scripts/attribution_analyzer.py campaign_data.json --model time-decay --half-life 14

Funnel Analysis

Basic funnel analysis

python scripts/funnel_analyzer.py funnel_data.json

JSON output python scripts/funnel_analyzer.py funnel_data.json --format json

Campaign ROI Calculation

Calculate ROI metrics for all campaigns

python scripts/campaign_roi_calculator.py campaign_data.json

JSON output python scripts/campaign_roi_calculator.py campaign_data.json --format json

Scripts

1. attribution_analyzer.py

Implements five industry-standard attribution models to allocate conversion credit across marketing channels:

ModelDescriptionBest For
First-Touch100% credit to first interactionBrand awareness campaigns
Last-Touch100% credit to last interactionDirect response campaigns
LinearEqual credit to all touchpointsBalanced multi-channel evaluation
Time-DecayMore credit to recent touchpointsShort sales cycles
Position-Based40/20/40 split (first/middle/last)Full-funnel marketing

2. funnel_analyzer.py

Analyzes conversion funnels to identify bottlenecks and optimization opportunities:

Stage-to-stage conversion rates and drop-off percentages Automatic bottleneck identification (largest absolute and relative drops) Overall funnel conversion rate Segment comparison when multiple segments are provided

3. campaign_roi_calculator.py

Calculates comprehensive ROI metrics with industry benchmarking:

ROI: Return on investment percentage ROAS: Return on ad spend ratio CPA: Cost per acquisition CPL: Cost per lead CAC: Customer acquisition cost CTR: Click-through rate CVR: Conversion rate (leads to customers) Flags underperforming campaigns against industry benchmarks

Reference Guides

GuideLocationPurpose
Attribution Models Guidereferences/attribution-models-guide.mdDeep dive into 5 models with formulas, pros/cons, selection criteria
Campaign Metrics Benchmarksreferences/campaign-metrics-benchmarks.mdIndustry benchmarks by channel and vertical for CTR, CPC, CPM, CPA, ROAS
Funnel Optimization Frameworkreferences/funnel-optimization-framework.mdStage-by-stage optimization strategies, common bottlenecks, best practices

Best Practices

Use multiple attribution models -- Compare at least 3 models to triangulate channel value; no single model tells the full story. Set appropriate lookback windows -- Match your time-decay half-life to your average sales cycle length. Segment your funnels -- Compare segments (channel, cohort, geography) to identify performance drivers. Benchmark against your own history first -- Industry benchmarks provide context, but historical data is the most relevant comparison. Run ROI analysis at regular intervals -- Weekly for active campaigns, monthly for strategic review. Include all costs -- Factor in creative, tooling, and labor costs alongside media spend for accurate ROI. Document A/B tests rigorously -- Use the provided template to ensure statistical validity and clear decision criteria.

Limitations

No statistical significance testing --

Scripts

provide descriptive metrics only; p-value calculations require external tools. Standard library only -- No advanced statistical libraries. Suitable for most campaign sizes but not optimized for datasets exceeding 100K journeys. Offline analysis -- Scripts analyze static JSON snapshots; no real-time data connections or API integrations. Single-currency -- All monetary values assumed to be in the same currency; no currency conversion support. Simplified time-decay -- Exponential decay based on configurable half-life; does not account