Battle of the Dashboards: Tableau vs R Shiny vs Data Studio

As businesses are increasingly inundated with data, it’s becoming more important than ever to have a tool that can, at a glance, reveal the story hidden within the numbers. This is where dashboards come in. By uncovering key performance figures and diagnostics, and making use of completely automated connections to data sources, the user can spend more time understanding the story and less time processing information.

Of course, there are many companies lending their hand to the world of dashboarding, but the three that are at the forefront, each with very different approaches, are Tableau, R’s Shiny and Google’s Data Studio.

Of these, Tableau is perhaps the most well established in the data analysis industry. Its’s paid-for software offers a wide range of features and a relatively simple-to-use drag and drop workflow.

1. Tableau dashboard example


R, on the other hand, is a programming language, one that is much more well-known in the data science world. Though established in the 90s, R has seen a big rise in popularity recently, helped by its ever-expanding library of “packages” (custom made add-ons for almost every requirement).

The dashboarding package Shiny is relatively new in R’s history and allows users to easily create scripts that produce dashboards hosted in a web app.

2. R Shiny dashboard example


A new competitor to these is Google’s Data Studio. Whilst currently quite basic, it does offer impressive capabilities given the fact that it is completely free, and it is also constantly improving. The workflow is much more like Tableau’s drag and drop style, and is incredibly easy to use.

3. Google Data Studio example


So, to figure out which is best, we’ve looked at the top 6 indicators:

1. Chart and Graph Types

  • Tableau does relatively well here, offering a wide range of chart types to meet pretty much all dashboarding needs.
  • Shiny excels in this category, with a wealth of packages from the past 20 years, including the incredible ggplot2 and to make pretty much any visualisation imaginable.
  • Data Studio has the least variation here, offering pretty standard chart types, but it is important to remember that most charts used in dashboards fit into this category. These include bar or stacked bar charts, time series charts, pie charts, maps, scorecards, scatter, bullet and area charts.

2. Data Connectors

  • Tableau again does reasonably well, offering a large number of built-in connections including many Google products such as Google Analytics and BigQuery. However, it does need third-party tools to connect to AdWords and YouTube Analytics.
  • Shiny can connect to just about any data source by using either a premade package or custom API calls.
  • Data Studio can of course connect to all Google products as well as MySQL and PostgreSQL. Other data sources may have to be routed through BigQuery or Google Sheets, but this is easily done in most cases.

3. Ease of Use

  • Tableau is simple to pick up, offering a simple drag and drop format, and a relatively natural workflow.
  • Shiny requires knowledge of the R programming language which is fairly cumbersome at first, and perhaps not very intuitive without prior knowledge of similar language. Once learnt however, it becomes extremely powerful.
  • Data Studio has a natural workflow which is easy to pick up from the off – a good indicator is how rarely a Google search is needed when attempting something new.

4. Data Manipulation and Analysis

  • Tableau has basic data manipulation functions allowing users to pivot columns, create groups and filter at source. It also offers basic analysis features.
  • Shiny has arguably the best data manipulation and analysis tools. It is incredibly powerful for data manipulation or “wrangling” – the process of getting data into the correct form for analysis. It also offers many statistical modelling and advanced forecasting packages.
  • Data Studio has no built-in features for data manipulation or analysis, and thus data must be wrangled elsewhere such as BigQuery, and analysis then completed by exporting the data.

5. Speed

  • All three of these products offer high speed and efficient processing of data, but for larger amounts of data in particular, none can compete with the super-fast packages R offers such as “data.table”.

6. Reproducibility and Repeatability

  • In both Data Studio and Tableau, once a dashboard is decommissioned or deleted, it would have to be built again from scratch.
  • In R’s Shiny, since it is purely text based all that would be needed to be done is to re-run the script, which massively helps with repeatability and scalability. For instance, if two dashboards share a similar setup, the script may simply be tweaked to accommodate the changes.

Final Observations

It is important to realise that R is much more than programming language, it is a whole framework of methods and approaches that encompass the data analysis – the Shiny package itself, is merely one aspect.

As the level of analysis for many companies becomes more refined we will increasingly have to look to tools like R to facilitate that. Techniques such as Machine Learning are being championed in languages like R and Shiny, and it’s important to invest the time to learn them sooner rather than later.

It is sometimes hard to compare tools that have very different approaches. R’s purely script-based vs Google and Tableau’s more user-friendly mouse or drag and drop methods – but a good take away from this is that there are benefits to each.

Whilst Data Studio and Tableau can be used for quicker prototyping and reporting, R can be used to make deeper and more informed analysis.

Of course, everybody’s needs are different, but given that Data Studio is constantly improving as well as being absolutely free – it would seem a combination of R and Data Studio would be a very complimentary pairing.

I encourage anyone who wants to learn more about R or Shiny’s capabilities to check out the many talks out there, like this one from Plotcon which shows just how powerful it can be.