Frameworks¶
mmm-eval supports multiple Marketing Mix Modeling (MMM) frameworks. This guide explains each supported framework and their features.
Supported Frameworks¶
Google Meridian¶
Google's Meridian framework provides advanced MMM capabilities with support for reach and frequency data.
Features¶
- Reach and Frequency: Support for reach/frequency data in addition to spend
- Organic Media: Modeling of organic media channels
- Non-Media Treatments: Support for non-media variables
- Geographic Modeling: Multi-geography support
- Advanced Priors: Sophisticated prior distribution system
Usage¶
mmm-eval --input-data-path data.csv --config-path config.json --framework meridian --output-path results/
Configuration¶
Meridian requires specific configuration for: - Input data builder settings - Model specification parameters - Sample posterior configuration
See Configuration for detailed setup.
PyMC-Marketing¶
PyMC-Marketing is a Bayesian MMM framework built on PyMC.
Features¶
- Bayesian Inference: Full posterior distributions
- Flexible Adstock: Multiple adstock transformation options
- Saturation Models: Various saturation functions
- Control Variables: Support for additional regressors
- Seasonality: Built-in seasonal modeling
Usage¶
mmm-eval --input-data-path data.csv --config-path config.json --framework pymc-marketing --output-path results/
Configuration¶
PyMC-Marketing requires configuration for: - Model parameters (adstock, saturation, etc.) - Fit parameters (chains, draws, etc.) - Data mapping
See Configuration for detailed setup.
Framework Comparison¶
Feature | Meridian | PyMC-Marketing |
---|---|---|
Reach/Frequency | ✅ Supported | ❌ Not supported |
Organic Media | ✅ Supported | ❌ Not supported |
Geographic | ✅ Supported | ❌ Not supported |
Bayesian | ✅ Full posterior | ✅ Full posterior |
Adstock | Built-in | Multiple options |
Saturation | Built-in | Multiple options |
Control Variables | ✅ Supported | ✅ Supported |
Seasonality | Built-in | Fourier modes |
Choosing a Framework¶
When to Use Meridian¶
- Reach/Frequency Data: If you have reach and frequency data
- Organic Media: If modeling organic channels is important
- Geographic Analysis: If you need multi-geography support
- Advanced Features: If you need sophisticated prior distributions
When to Use PyMC-Marketing¶
- Standard MMM: For traditional spend-based modeling
- Flexible Modeling: If you need custom adstock/saturation
- Bayesian Workflow: If you're familiar with PyMC
- Open Source: If you prefer open-source frameworks
Framework-Specific Considerations¶
Meridian¶
Data Requirements¶
- Media Channels: Channel names and spend columns
- Reach/Frequency: Optional reach and frequency columns
- Organic Media: Optional organic media columns
- Non-Media: Optional non-media treatment columns
- Geography: Optional geography column
Configuration Complexity¶
Meridian requires more complex configuration due to: - Prior distribution specification - Multiple data input types - Advanced model parameters
PyMC-Marketing¶
Data Requirements¶
- Media Channels: Spend columns only
- Control Variables: Optional control columns
- Date Column: Required for time series
- Target Column: Response variable
Configuration Simplicity¶
PyMC-Marketing has simpler configuration: - Standard adstock/saturation choices - Basic fit parameters - Straightforward data mapping
Migration Between Frameworks¶
From PyMC-Marketing to Meridian¶
- Add Reach/Frequency Data: If available
- Configure Priors: Set up PriorDistribution objects
- Update Configuration: Use Meridian-specific config structure
- Test Gradually: Start with basic configuration
From Meridian to PyMC-Marketing¶
- Remove Reach/Frequency: Use spend data only
- Simplify Configuration: Use PyMC-Marketing config structure
- Adjust Parameters: Set adstock and saturation
- Validate Results: Compare performance
Best Practices¶
Framework Selection¶
- Start Simple: Begin with PyMC-Marketing for basic needs
- Add Complexity: Move to Meridian for advanced features
- Data-Driven: Choose based on available data
- Expertise: Consider team familiarity
Configuration Management¶
- Version Control: Track configuration changes
- Documentation: Document framework choices
- Testing: Test configurations thoroughly
- Backup: Keep working configurations
Troubleshooting¶
Common Issues¶
- Configuration Errors: Check framework-specific requirements
- Data Format Issues: Verify data matches framework expectations
- Performance Problems: Adjust framework-specific parameters
- Memory Issues: Consider data size and model complexity
Getting Help¶
- Check Configuration for setup
- Review Examples for use cases
- Join Discussions for support