Stop Digging Through Pivot Tables — Automated Performance Drop Detector for PPC Analysts

By: Roman Myskin - March 12, 2026


Data Analytics

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.

Step 1
Load your data and label which periods are Good and which are Bad
Step 2
Choose the dimensions and metric you want to investigate
Step 3
Run the notebook — the script scores every dimension combination automatically
Step 4
Read the chart, remove the top suspect, and re-run to uncover secondary issues

A Real-World Example

In a sample analysis, the script scanned across a dataset covering:

230
Countries
161
Accounts
13
Channels

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


Home