Meta Ad Creative Fatigue Velocity Radar
Detect ad creative fatigue before your CPA spikes. Analyze Meta Ads CSV exports locally with zero API tokens or credentials.
Problem it addresses
Develop a pure Python CLI (fatigue_radar.py) that ingests daily Meta Ads performance CSVs (Date, Ad ID, Impressions, Reach, Frequency, Spend, Clicks, Conversions). Calculates 3-day and 7-day rolling CTR and CPA slopes, flags ads entering the 'Fatigue Danger Zone', outputs an interactive HTML radar dashboard with visual status badges, and generates a rotation priority list.
Who it is for
PRO operating in high-growth e-commerce, digital publishing, and direct-response marketing across Saudi Arabia, UAE, and Egypt.
What is inside
Key files listed in the README repository architecture:
examples/fatigue_dashboard.htmlexamples/meta_sample_export.csvLICENSEREADME.mdsrc/fatigue_radar.pytemplates/creative-refresh-sop.mdtests/test_radar.py
How to evaluate and use it
- Read the README first and confirm that the documented problem matches your use case.
- Inspect the listed files to find the data, tools, templates, and tests relevant to your task.
- Follow the repository’s Quick Start and check prerequisites before running commands.
- Compare outputs with documented examples and review limitations before using them in a decision or client workflow.
Quick Start from the README: python -m unittest discover -s tests · python src/fatigue_radar.py --help
Scope and limitations
- Audience Saturation Dynamics: Ad fatigue is measured via First-Time Impression Ratio (FTIR) and frequency acceleration curves, not static CTR drops.
- API Rate Limiting: Meta Marketing API queries must implement exponential backoff when fetching granular daily ad-level insights.
- Budget-Dependent Decay: Small daily budgets (<$50/ad set) exhibit slower decay curves than scaled ASC campaigns with rapid frequency buildup.
This page summarizes the available documentation; it does not establish performance or business results. Verify data and prerequisites before use.