5 min read · Python · PPC Analytics · Open Source
You open the dashboard. Performance is down. You compare this month to last month — numbers look different everywhere. One country is down, another is up, some accounts changed, channels shifted. You're not sure where to start, and the longer you look, the less clear it gets.
If this sounds familiar, you're not alone. Diagnosing a performance drop is straightforward when you have one or two campaigns. It becomes a completely different challenge when your data spans hundreds of countries, accounts, and channels — that's thousands of possible combinations to investigate manually.
What I Built
I built an open-source Python notebook that automatically scans all your dimensions at once and ranks which combinations are most likely responsible for a performance drop. No pivot tables. No manual filtering. Just point it at your data, label which period was Good and which was Bad, and it tells you where to look first.
It works with any dimensions you have — countries, accounts, channels, campaigns, keywords — and any metric you want to investigate: cost, conversions, revenue, ROAS, clicks, or anything else. The number of dimensions is not limited.
How It Works
Under the hood, the script uses logistic regression — not to predict anything, but as a scoring tool. It measures how strongly each dimension combination is associated with the Bad period and surfaces the biggest anomalies in a simple bar chart. The longer the bar, the more suspicious the dimension.
The part I find most useful is that the approach is iterative. One big problem can easily hide several smaller ones underneath. Run it, remove the dominant cause, run it again — and you'll often find there was more going on than the first result suggested.
A Real-World Example
In a sample analysis, the script scanned across a dataset covering:
The script immediately flagged a single account that had stopped spending across multiple markets as the primary driver of the drop. Re-running after removing it revealed a second underperforming account hiding underneath — something that would have been easy to miss in a manual review. What would normally take hours took seconds.
Who Is This For?
The notebook is designed to be accessible without a data science background. If you can install Python and open a file, you can use it. It comes with step-by-step setup instructions including how to install Anaconda for those who have never worked with Python before.
It's a good fit for anyone working with multi-dimensional performance data — PPC analysts, growth marketers, media buyers, e-commerce managers, or anyone who regularly needs to explain why numbers went down.
Try It Yourself
The notebook is free, open source, and ready to use with your own data. Feedback, ideas, and contributions are very welcome.
View on GitHub