Metabase Up and Running
上QQ阅读APP看书,第一时间看更新

Introducing Metabase

Before we get started, let's learn about what Metabase is and how it came to be. Metabase is software for analytics. Traditionally, we might refer to it as software for Business Intelligence, or BI. BI generally refers to software that aids in transforming data into actionable insights and visualizations. BI software has been around for a long time; Tableau and MicroStrategy are traditional examples. Today, many people in the industry, myself included, prefer the term analytics software over BI. I will be using that term going forward.

Finding answers in your database

Today, all organizations rely on analytics to stay competitive. As a famous saying goes, "you can't manage what you can't measure." Imagine you are a company selling products online and want to measure the number of products you have sold. While that seems like a simple question, many would have no idea of how to actually arrive at a number. Would you manually count the number of units leaving your warehouse? Sure, you could, but it seems like there should be an easier way – and there is. Most organizations rely on databases to store their transactions, so getting your transaction data from your database is generally the easiest and most accurate way to measure your sales.

The downside to databases is that they can be intimidating to work with. Connecting to them is often challenging due to security and technical reasons. Plus, once you connect to them you need to know how to query them. Most databases can be queried with Structured Query Language, or SQL, but not everyone knows (or should know) SQL. Once you get your query to work, turning the raw data from the query results into something interpretable, such as a chart, is something that databases are no good for – you need additional software to visualize your data.

So, while viewing the number of sales in your organization seems simple, it's actually far from that. This is where Metabase helps.

Metabase was made to connect to all of today's most popular databases. While users with more of a technical background can use SQL with Metabase, it also has a well-designed query builder so that knowledge of SQL is not required. Furthermore, Metabase has a terrific visualization library. Going from query to visualization is often as simple as the click of a button. Metabase makes it easy and intuitive to go from a question in your head, such as the number of sales over time, to a visualization of the answer such as that shown in Figure 1.1:

Figure 1.1 – Counting transactions with Metabase's sample dataset

Now that we've learned what Metabase is, let's learn about who it was built for.

Who should use Metabase?

Metabase is designed for all roles in an organization, not just data scientists, analysts, or engineers. You don't need to be highly technical or highly analytical to find value in Metabase. From what I've witnessed, there are four types of Metabase users. I have represented them in Figure 1.2, a two-by-two matrix with shading as a third dimension:

Figure 1.2 – The four types of Metabase users

Going back to our example question of sales over time, let's see the roles these four types of users might play:

  1. Admins make sure Metabase is up to date and running smoothly. They are the ones who install Metabase and give everyone a login. It is the admins' responsibility to make sure that other users can view the sales numbers, but they will probably not have to pay attention to the numbers themselves.
  2. Consumers are people whose jobs are closely tied to the sales numbers, but may not be technical enough to produce a chart on their own. While they don't normally make the charts themselves, they are able to easily click around and edit a chart for their specific use case. For example, a consumer who is responsible for business in California is able to filter the chart to show only sales in California.
  3. Analysts are those who have a deep understanding of data, including metrics, statistics, and databases. They are close to the business but perhaps not as close as some consumers, who they consider their stakeholders. Analysts make all the critical charts and metrics in Metabase to ensure data accuracy. They are thought of as the curators of Metabase and the people to whom the consumers often go to for help.
  4. Finally, power users are those with admin skills to set up Metabase, analyst skills to generate insights, and are close enough to the day-to-day operations of the business such that they need to consume the results to make sound business recommendations.

This book is written for all groups, but especially with power users in mind.

What is Metabase good for?

Now that we've learned what Metabase is and who should use it, let's learn what kind of questions Metabase is best at answering.

Metabase can be used to answer a very wide variety of business questions. Throughout this book, we'll be focusing on a fictional business called Pickles and Pies. This business, which is modeled after a hybrid e-commerce and brick-and-mortar business, is representative of the types of organizations that might use Metabase to better understand trends, patterns, and insights around performance. We'll learn more about this fictional business, including about where to download the example database from, later on in Chapter 4, Connecting to Databases.

Some of the questions that Metabase can help us answer about this business are as follows:

  • How many orders have been placed?
  • What types of users are placing orders?
  • What are the most popular items on our menu?
  • What parts of our business are growing the fastest or slowest?

These are just a few simple examples. Today, analytics is far-reaching and can get very sophisticated. With that said, Metabase is generally not the preferred tool to perform certain analytical functions, such as the following:

  • Advanced statistical modeling
  • Statistical inference
  • Machine learning and artificial intelligence

Now that we know what kind of questions Metabase will help us answer, let's learn what kind of data we can connect to it.

What kind of data does Metabase accept?

Data comes in many formats, from spreadsheets and CSVs to large distributed databases. Let's learn which of these formats are particularly well suited for Metabase.

Simply put, Metabase is a tool to help us understand data in databases. If your organization keeps data in a SQL or NoSQL database, Metabase will almost certainly be able to connect to it.

If your organization generally works with CSV exports or reports from external websites, Metabase is likely not the best tool for you. However, you should make sure that there isn't already some database upstream from these CSVs and reports that you can connect to. Often, there will be!

If you have really big data and are looking to do some ETL (Extract, Transform, Load) operations to create smaller, pre-aggregated tables, you should still use Metabase on your tables post-ETL. However, Metabase is not the right tool to perform the actual ETL operations.

We will now learn about how Metabase came to be.