Fully Automated Dashboards – Get started!

Published on June 8th, 2020

Streamline your business with fully automated dashboards. 


Almost all organisations have data in various locations and applications. If you work in an office, you’ll probably recognise this. You run various reports to get all the insights you need. What if you could see all key performance indicators (KPIs) in one go? Using one single dashboard with all your KPIs enables you to really focus on what is important for your business. It relieves you from distractions while generating and collecting reports. I have been providing corporate trainings for a while now and will explain how to do this.

In this article, I will focus on one specific metric for businesses. Research shows that nearly 95% of shoppers read online reviews before making a purchase. It is therefore a crucial metric for your teams to work with, for managers to report on and for leadership to steer on. You probably check reviews yourself when you buy something, right?

Reviews for Trustpilot

My clients can leave me a review on Trustpilot. Happy clients leave positive reviews which leads to more business. So the rating and number of reviews are on part of my KPIs. I wrote a small script that scrapes the Trustpilot page for my business and retrieves the data I need. The script is very easy to make and it typically fits the following simple template:

import packages

def main():

def get_data():

def clean_data():

def save_to_database():

if __name__ == "__main__":

Now obviously I don’t want to run this script every day myself to get the latest data. This is where cloud services come in…

Cloud Services (AWS, Azure, Google)

All major cloud service providers offer you the option to run Python scripts. Like AWS Lambda, Azure Functions & Google Functions. Very often for free, or otherwise at minimal costs. In this example, I will use Heroku, which is basically a service built on top of AWS. They do most of the admin/management work for you so you can develop faster. Within minutes, you can set up all the infrastructure you need. You need to take the following steps:

  1. Set up an account
  2. Create an app
  3. Attach a Postgres database
  4. Upload your scripts
  5. Set the schedulers

So in my example, the Python script to retrieve the reviews runs every evening at 11PM. The data is now automatically being collected in a Postgres database. You can then use the “Dataclips” to make your data available. You do need to know a little bit of SQL for it. Fortunately, Heroku provides an easy to use interface that even has autocomplete.

When you create a Dataclip, Heroku automatically creates a URL for you where you can access the latest data. You get URLs for data in CSV and JSON format. Just see it for yourself: https://data.heroku.com/dataclips/pbhhasdcojbqoicheqbjnsuitmpk.csv


Now with these tables directly available for you (via URLs), there is only one thing left to do. Pick your favourite visualisation tool! You can load data directly into PowerBI, Tableau, Klipfolio, etc. Furthermore, you could even load the data directly into a Google Sheet with the following formula: =IMPORTDATA(“https://data.heroku.com/dataclips/pbhhasdcojbqoicheqbjnsuitmpk.csv?access-token=9c768ba9-e3fc-4ea7-af67-a7a3384be1ee”)

In this example we only looked at one metric, the reviews. But you can use the same methodology to add all your other KPIs as well. Think about metrics like profit margin, revenue growth, customer life time value, conversion rates, retention rates, registrations/subscriptions and so on. In the end the only thing you need is just one extra script per metric, the rest stays the same. A pretty convenient way to get business intelligence!

Ready to build your own dashboards? In this three day course I will train you and your team. At the end you will have your own fully automated dashboard!

Thanks to business coach Pedro van Helden for encouraging me to write this blog post 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

The reCAPTCHA verification period has expired. Please reload the page.