A five question framework to help you automate analytics

Use these five questions to help you strategically automate reports, monitoring, and analytics.

Matt Ambrogi
5 min readMay 7, 2020

At its best, being an analyst makes me feel like a scientist uncovering new truths. There are few other jobs in which you can so often discover a fact that no one else knows. But, being an analyst can also mean managing a lot of repetitive reports and monitoring. There is always someone who needs to see a specific set of numbers or charts on a regular basis.

That’s where automation becomes useful. Minimizing the repetitive opens up bandwidth for more interesting work.

Automation can mean so many different things. When I first started, it was a word I heard tossed around all the time. I assumed it was good but, I had very little idea of what it actually meant. Over time, I developed a framework to help me think through automation related problems in analytics. That framework is what I want to share here.

Before I jump into it, there’s a few things I should call out. First, it doesn’t matter what tools you use for analysis. “Automation” can be as simple as setting up a Google Sheet so that, with one data import, all of your tables, visualizations, and slides update. Elsewhere, it might mean thousands of lines of Python code. Rather than a specific approach, I want to cover the mental model I use to think about automation strategically at the outset.

Let’s pick a hypothetical task to guide us. Imagine a VP at your company has asked to see five charts illustrating the change over time for a few selected metrics. They want to see the results every Monday. Let’s suppose you can access the data and are about to put together a plan for the analysis. Here are the five questions I would ask myself to frame up the work.

  1. Why does this analysis exist?

This is another way of asking, “do we need this”? If you work at a large company, there are multiple analysts somewhere that are pulling the same data and doing the same things with it every month. So, there’s a chance you don’t need to reinvent the wheel.

On top of that, many of the reports that exist are done for no other reason than that they were once asked for. They are boring and repetitive, so people often think “it would be great if we could automate this.” But, if no one cares about it’s results, it would be even better if it didn’t exist. So, it’s always good to do a quick reality check and ask, “are we sure need this?” In our example, a VP has asked directly. So, we need to deliver. But, we might ask if these same numbers are being generated anywhere else. If so, we can avoid duplicating work.

2. Why is this task prime for automation?

Out of everything that could be automated, why should you focus on this analysis right now? This is a personal question, but there are a few things that make a report particularly prime for automation. One, if it needs to be done frequently (daily, weekly, monthly). The more frequent, the faster the investment to create a solution will pay off. Two, if the data comes, or could come from, a singular source. Having to get data from multiple places can decrease the efficacy of any solution. Three, if the metrics in the report are commonly used elsewhere. If this is true, your work will likely be useful there. Even better, someone else might already have work that will be useful for you.

3. If I set up an automated solution, who will use it?

You should think about any solution you develop as a product. While it’s likely you will be the first user, you need to consider who else will want to access, update, or alter it in the future. Let’s look at our five charts example. Imagine that I go to tackle this. My first instinct is to use Python and write a completely hands off solution. However, I will be leaving my team in two months and I know most of the analysts who would take this over use SQL and Google Sheets instead of Python. In that case, it makes sense to set up a solution with those tools. It will be more user friendly long term.

4. For this task, what does automation mean?

At it’s extreme, automation can be completely hands off. You write code once, rarely touch it, and your graphs are emailed out. But, it’s not always like this. Maybe you imagine a process or spreadsheet design that will drastically speed up an existing manual work flow. Maybe you use Python to simple email yourself data automatically on a scheduled basis that you then manipulate. All are different degrees of automation that could be equally valid solutions for you.

5. Is the best solution technical or not?

This is a quick, but important, reality check. I am usually tempted by the most technical solution. This is because it would be a fun problem to solve and someone might pat me on the back and tell me it seems cool. But, that does not mean it is the best solution. It might require more effort than it is worth, be difficult to sustain, or not fit the job for any number of other reasons.

After you think about the questions above, you should brainstorm a few potential solutions. Then, look through your options and weigh a few factors. The effort required to develop the solution, how well it will solve the problem, how much analyst time it will save, and how easy it will be to pass that work off in the future are all things to consider. Go with the solution that combines those factors most effectively.

Automation of analytics can be daunting, in that it’s a significant time investment for uncertain results. This framework helps me develop solutions that I am confident will pay off. This minimizes uncertainty and help me get others get on board. I hope it can be helpful for you too. Feel free to comment if you think I missed anything!

--

--

Matt Ambrogi
Matt Ambrogi

Written by Matt Ambrogi

Programming, products, and machine learning. Twitter: @matt_ambrogi

No responses yet