| Advertiser ↕ | Campaign ↕ | Daily Budget ↕ | % Used L7D ↕ | CPC ↕ | Ads ↕ | Targeting ↕ | Neg KW ↕ | Pos KW ↕ | Platforms | Categories ↕ | Geo | Budget Pacing ↕ | History |
|---|
This is a portfolio demo using fully fabricated data. All advertiser names, campaign metrics, and recommendations are fictional and for illustration purposes only.
The CVR Optimizer is a tool I built to automate daily campaign performance analysis for a marketplace's Platinum advertisers, generating actionable recommendations for the Customer Success team. It is a working prototype built and maintained by Waldo Vanderhaeghen (Product Management).
This public version uses two fictional advertisers (TechRebuild GmbH and Gartenparadies Online GmbH) with generated data to demonstrate the dashboard's capabilities.
compute_adv_aggregates.py pre-computes advertiser-level CVR/CTR averages and derived metrics into pipeline_state.json.verdict.py runs deterministic Python rule trees: two-axis verdict (performance × budget), underspend root cause, tried-and-failed history, confidence score. No LLM involved here.analyst.py passes the structured CampaignVerdict JSON to Claude (Amazon Bedrock). Claude writes the readable recommendation card. Python enforces hard guardrails in the system prompt.build_dashboard.py injects all data into this HTML file. deploy_dashboard.sh pushes to GitHub Pages after explicit human confirmation.covers_budget = false is the triggerEvery recommendation starts by identifying the binding constraint — the one thing that is actually limiting the campaign right now. The optimizer never recommends expanding reach when the budget is the problem, and never recommends raising the budget when inventory is the ceiling.
| Date | Field | Old Value | New Value | By |
|---|