- Problem
- The weekly paid-media review was a manual pass through Ads Manager: read ROAS, CPA, CPM and CPV per ad, decide what to pause, re-type the conclusions into a document. The thresholds lived in someone's head, so the same numbers produced different decisions on different weeks.
- Built
- A staged Python pipeline that fetches ad performance, scores every ad against thresholds held in one JSON file, checks that pausing an ad will not leave a product with zero live coverage, and ships the review in four formats.
- Role
- Sole designer and implementer. Wrote the design specs, the rules engine, four prompt versions, the exporters, and merged the work through reviewed feature branches.
- Changed
- Turned a remembered judgement into a reproducible one: the thresholds that drive the decision now feed the engine, the spreadsheet templates and the LLM prompt from a single file.