Marketing Mix Modeling MCP server — CSV in, budget recommendations out.
Project description
MixLift
Marketing Mix Modeling as an MCP server. CSV in, budget recommendations out.
MixLift runs Bayesian Media Mix Models (MMM) using PyMC-Marketing and exposes results through the Model Context Protocol so AI assistants like Claude can analyze your marketing data.
What you get
- Channel ROAS — Return on ad spend per channel with 90% credible intervals
- Marginal ROAS — Diminishing returns at current spend levels
- Budget optimization — Optimal allocation across channels with expected lift
- Saturation curves — Spend vs. response curves showing diminishing returns
- Convergence diagnostics — MCMC health checks (R-hat, divergences)
- Actionable recommendations — Ranked list of budget reallocation moves
Install
pip install mixlift
Requires Python 3.11+. PyMC and its dependencies (PyTensor, NumPy, etc.) are installed automatically.
Setup with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"mixlift": {
"command": "mixlift-mcp"
}
}
}
Restart Claude Desktop. You now have the mixlift_analyze tool available.
Setup with Claude Code
Add to your Claude Code MCP settings:
{
"mcpServers": {
"mixlift": {
"command": "mixlift-mcp"
}
}
}
Usage
Ask Claude to analyze your marketing data:
"Run a marketing mix model on my data at ~/marketing/spend_data.csv"
Or try the bundled demo dataset:
"Run mixlift_analyze with no arguments to use the demo data"
CSV format
MixLift auto-detects your CSV format. The simplest is wide format:
| date | google_search_spend | meta_spend | tiktok_spend | revenue |
|---|---|---|---|---|
| 2024-03-11 | 5243.77 | 5658.76 | 1991.60 | 61475.19 |
| 2024-03-18 | 4237.89 | 7190.88 | 1825.93 | 59907.05 |
Requirements:
datecolumn (weekly granularity works best)- One or more
*_spendcolumns - A
revenue,target, orsalescolumn
Platform exports from Meta Ads, Google Ads, and TikTok Ads are also supported.
Pricing
- Free: 3 channels, 1,000 rows
- Pro ($199/mo): Unlimited channels and rows — mixlift.io/pricing
How it works
- Your CSV is loaded and auto-detected (wide format or platform export)
- A Bayesian MMM is fit using MCMC sampling (~30-60 seconds)
- Channel contributions, ROAS, and saturation parameters are extracted
- Budget is optimized using gradient-based reallocation
- Results are returned as structured JSON to the AI assistant
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mixlift-0.1.0.tar.gz.
File metadata
- Download URL: mixlift-0.1.0.tar.gz
- Upload date:
- Size: 290.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31104ee096f059c7d9a92d20577e5c2b7065fe53a282c4205ad172186080c6a8
|
|
| MD5 |
fa681902b439827163f4d5a58c177e98
|
|
| BLAKE2b-256 |
6c508d1667b77277ab3eb39d702b51689de466d8cc9bc43ecac15267f1caf38a
|
File details
Details for the file mixlift-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mixlift-0.1.0-py3-none-any.whl
- Upload date:
- Size: 49.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
895b6a723bd986e5401740bebdd45ef7d9c76ed941411c9fe54da0f6376abb3d
|
|
| MD5 |
18e75706ea80f534cbeb7e2cfe35b6e6
|
|
| BLAKE2b-256 |
e6ed853a111073217d4c2525bb41024f763839a9496dd87ba3119c5854e4bc1a
|