Meridian Budget Optimization
google/meridian
Reopens a fitted Meridian MMM from a saved file and runs budget allocation scenarios, producing an HTML report and a Python script that repeats the run.
Calculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library.
$ npx skills add alirezarezvani/claude-skills --skill campaign-analytics -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alirezarezvani/claude-skills campaign-analytics --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/marketing-skill/skills/campaign-analytics .claude/skills/campaign-analytics && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "campaign-analytics" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/campaign-analytics into .claude/skills/campaign-analytics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "campaign-analytics", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/campaign-analyticsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add alirezarezvani/claude-skills --skill campaign-analytics -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alirezarezvani/claude-skills campaign-analytics --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/marketing-skill/skills/campaign-analytics .agents/skills/campaign-analytics && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "campaign-analytics" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/campaign-analytics into .agents/skills/campaign-analytics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "campaign-analytics", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alirezarezvani/claude-skills --skill campaign-analytics -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alirezarezvani/claude-skills campaign-analytics --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/marketing-skill/skills/campaign-analytics .cursor/skills/campaign-analytics && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "campaign-analytics" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/campaign-analytics into .cursor/skills/campaign-analytics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "campaign-analytics", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/alirezarezvani/claude-skills.git --path marketing-skill/skills/campaign-analytics--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add alirezarezvani/claude-skills --skill campaign-analytics -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alirezarezvani/claude-skills campaign-analytics --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/marketing-skill/skills/campaign-analytics .gemini/skills/campaign-analytics && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "campaign-analytics" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/campaign-analytics into .gemini/skills/campaign-analytics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "campaign-analytics", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install alirezarezvani/claude-skills campaign-analyticsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add alirezarezvani/claude-skills --skill campaign-analytics -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/marketing-skill/skills/campaign-analytics .github/skills/campaign-analytics && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "campaign-analytics" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/campaign-analytics into .github/skills/campaign-analytics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "campaign-analytics", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alirezarezvani/claude-skills --skill campaign-analytics -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alirezarezvani/claude-skills campaign-analytics --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/marketing-skill/skills/campaign-analytics .opencode/skills/campaign-analytics && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "campaign-analytics" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/campaign-analytics into .opencode/skills/campaign-analytics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "campaign-analytics", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
campaign-analyticsCalculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library.
The skill ships three command-line scripts: `attribution_analyzer.py`, `funnel_analyzer.py` and `campaign_roi_calculator.py`. Each reads a JSON file given as its first argument, with `assets/sample_campaign_data.json` showing the format, and prints a text report or JSON with `--format json`. The attribution script covers five models, time-decay among them, the funnel script reads stages and counts, and the ROI script works on a list of campaigns.
A typical review runs them in order: attribution to see which channels drive conversions, funnel analysis on those channels' segments, then ROI figures to guide budget reallocation. The scripts use only the Python standard library, with no API calls or ML models, and report bad input with descriptive errors, for example missing keys, funnel stage and count lists of different lengths, or non-numeric money values. Reference guides cover attribution models, benchmark metrics and funnel optimization, and templates cover campaign reports, channel comparisons and A/B tests.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 19392f7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Campaign Analytics loads about 2.1k tokens when it runs, and up to ~9.5k if it reads all its reference files. Until then it costs about 82 tokens; SKILL.md has 654 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from alirezarezvani/claude-skills at commit 19392f7, republished under its MIT licence (© alirezarezvani). 654 words, ~2,099 tokens.
.claude/skills/campaign-analytics/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.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.
All scripts accept a JSON file as positional input argument. See assets/sample_campaign_data.json for complete examples.
{
"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": {
"stages": ["Awareness", "Interest", "Consideration", "Intent", "Purchase"],
"counts": [10000, 5200, 2800, 1400, 420]
}
}{
"campaigns": [
{
"name": "Spring Email Campaign",
"channel": "email",
"spend": 5000.00,
"revenue": 25000.00,
"impressions": 50000,
"clicks": 2500,
"leads": 300,
"customers": 45
}
]
}Before running scripts, verify your JSON is valid and matches the expected schema. Common errors:
journeys, funnel.stages, campaigns) → script exits with a descriptive KeyErrorstages and counts must be the same length) → raises ValueErrorTypeErrorUse python -m json.tool your_file.json to validate JSON syntax before passing it to any script.
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 pipelinesFor 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.jsonUse attribution results to identify top-performing channels, then focus funnel analysis on those channels' segments, and finally validate ROI metrics to prioritize budget reallocation.
# 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# Basic funnel analysis
python scripts/funnel_analyzer.py funnel_data.json
# JSON output
python scripts/funnel_analyzer.py funnel_data.json --format json# 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 jsonImplements five industry-standard attribution models to allocate conversion credit across marketing channels:
| Model | Description | Best For |
|---|---|---|
| First-Touch | 100% credit to first interaction | Brand awareness campaigns |
| Last-Touch | 100% credit to last interaction | Direct response campaigns |
| Linear | Equal credit to all touchpoints | Balanced multi-channel evaluation |
| Time-Decay | More credit to recent touchpoints | Short sales cycles |
| Position-Based | 40/20/40 split (first/middle/last) | Full-funnel marketing |
Analyzes conversion funnels to identify bottlenecks and optimization opportunities:
Calculates comprehensive ROI metrics with industry benchmarking:
| Guide | Location | Purpose |
|---|---|---|
| Attribution Models Guide | references/attribution-models-guide.md | Deep dive into 5 models with formulas, pros/cons, selection criteria |
| Campaign Metrics Benchmarks | references/campaign-metrics-benchmarks.md | Industry benchmarks by channel and vertical for CTR, CPC, CPM, CPA, ROAS |
| Funnel Optimization Framework | references/funnel-optimization-framework.md | Stage-by-stage optimization strategies, common bottlenecks, best practices |
© alirezarezvani, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 11 other files (scripts, references, assets) in marketing-skill/skills/campaign-analytics of alirezarezvani/claude-skills.
Open the folder on GitHubat commit 19392f7
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in alirezarezvani/claude-skills, which our catalogue first saw on October 7, 2026.
Campaign Analytics next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Campaign Analytics this skillalirezarezvani/claude-skills | 28k | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Meridian Budget Optimizationgoogle/meridian | 1.6k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Google Ads Managementivangfalco/ads-skills | 278 | — | ~2.1k | Automated safety check: Notes | Custom licence | |
| Meta Ads AuditAgriciDaniel/claude-ads | 9.8k | — | ~906 | Automated safety check: Pass | MIT | |
| Meta Pixel Setupooiyeefei/ccc | 494 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Google AdsaAAaqwq/AGI-Super-Team | 105 | 1 repos | ~1.4k | Automated safety check: Pass | MIT |
google/meridian
Reopens a fitted Meridian MMM from a saved file and runs budget allocation scenarios, producing an HTML report and a Python script that repeats the run.
ivangfalco/ads-skills
Manages Google Ads accounts with Python scripts for the Google Ads API, backed by an intent-first B2B strategy knowledge base.
AgriciDaniel/claude-ads
Audits a Meta Ads account across Pixel and Conversions API, attribution, creative, audiences, placements, budgets and policy, and reports evidence-backed findings.
ooiyeefei/ccc
Walks a site owner through installing the Meta Pixel, firing one conversion event and verifying it with the Pixel Helper before any ads run.
aAAaqwq/AGI-Super-Team
Query, audit, and optimize Google Ads campaigns. An agent skill from aAAaqwq/AGI-Super-Team.
AgriciDaniel/claude-ads
Runs a source-grounded paid advertising audit across up to 12 ad platforms, with parallel platform workers, deterministic scoring and a versioned JSON bundle.
alirezarezvani/claude-skills
Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.
alirezarezvani/claude-skills
OKR cascade toolkit for product leaders: generates aligned company-to-team OKRs from five strategy types and scores how well they line up.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store.
alirezarezvani/claude-skills
Design AWS architectures for startups using serverless patterns and IaC templates.
alirezarezvani/claude-skills
Reverse-engineers a frontend, backend or fullstack codebase into a product requirements document with per-page docs, an enum dictionary and an API inventory.
alirezarezvani/claude-skills
Scores customer health, churn risk and expansion potential from a JSON export of account data, using three Python scripts that need no extra libraries.
Works with
Categories
Calculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library. py`.json` showing the format, and prints a text report or JSON with `--format json`.
Campaign Analytics fits situations like: comparing channel contribution with multi-touch attribution models; finding where prospects drop out of a conversion funnel; calculating ROI, ROAS or CPA across campaigns; preparing a campaign report or channel comparison.
Run `npx skills add alirezarezvani/claude-skills --skill campaign-analytics -a claude-code`. Or copy the skill folder (marketing-skill/skills/campaign-analytics in alirezarezvani/claude-skills) into .claude/skills/campaign-analytics in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alirezarezvani/claude-skills --skill campaign-analytics -a codex`. Or copy the skill folder (marketing-skill/skills/campaign-analytics in alirezarezvani/claude-skills) into .agents/skills/campaign-analytics in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alirezarezvani/claude-skills --skill campaign-analytics -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/campaign-analytics, .gemini/skills/campaign-analytics, .github/skills/campaign-analytics and .opencode/skills/campaign-analytics in your project.
Going by SKILL.md and its folder, Campaign Analytics needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python (standard library only).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Campaign Analytics is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Campaign Analytics: Meridian Budget Optimization (google/meridian, 1.6k stars), Google Ads Management (ivangfalco/ads-skills, 278 stars), Meta Ads Audit (AgriciDaniel/claude-ads, 9.8k stars) and Meta Pixel Setup (ooiyeefei/ccc, 494 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alirezarezvani (a GitHub user) maintains it in alirezarezvani/claude-skills, which has 27,829 GitHub stars. The repository holds 342 skills in this directory. The repository was last updated on August 30, 2026.
Source: alirezarezvani/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.