Metabase Bi



Metabase is a good, popular open-source BI tool that anyone can quickly install on your local environment to get a simple BI system up and running.

  • Metabase calls metrics and visualizations you derive from your data questions. While this nomenclature feels a little casual compared to other BI tools, I like the mental model it creates. While this nomenclature feels a little casual compared to other BI tools, I like the mental model it creates.
  • Metabase is an open source tool with 15.6K GitHub stars and 2.09K GitHub forks. Here's a link to Metabase's open source repository on GitHub. CircleCI, Geocodio, and StyleShare Inc. Are some of the popular companies that use Metabase, whereas Power BI.
  • Metabase is an open-source BI tool, where you can store data, connect to outside data sources, query, and visualizing data. This article talks about when we have data stored in Metabase, how do we query the data and get results in Python. The first part of this article talks about how to use the Metabase rest API to query data.

Metabase is the easy, open source way for everyone in your company to ask questions and learn from data. A quick tutorial on how to download, Set up and configure a free Business Intelligent (Metabase).

Yet when your analytics needs grow, you might face some of these pain points when using Metabase:

  • Have your business users ever found Metabase’s “Ask a question” too limiting for complex queries, and end up coming back to the analytics team to ask for custom reports?
  • Metabase only works well with a single SQL data source. If you have data from multiple sources, Metabase likely won't work well for you since it doesn't allow joining of data.
  • With Metabase, you can only work directly with your database tables because everything in Metabase is designed for simplicity.

In this post, we'll share with you a few alternative options to that, and tell you which pain points of Metabase each of these alternative addresses. So depending on your needs you might be able to pick the right option to replace, or use alongside with Metabase.

The below list of options are only tools that eventually offer a drag-and-drop interface to end users. At the end of the post we also include a list of tools that is only designed for technical users, SQL-to-chart translation.

Holistics is a nice BI alternative to Metabase. It works similar to Metabase in a way that it allows you to map your database tables into models and relationships, and expose this to the end business users to 'self-service explore'.

Similars/Difference to Metabase:

Metabase Bi

  • Both are built on top of SQL querying engine and both offers a drag-and-drop experience for non-technical users.
  • Metabase fits only at at the visualization layer, Holistics offer additional ELT capabilities (data preparation).

Pros (compared to Metabase):

  • A stronger data modeling layer that allows handling sophisticated raw data.
  • Business users can ask more sophisticated questions using their Explore interface.
  • Works well with non-SQL data sources as they offer a mini-ETL experience with common sources (MongoDB, Google Analytics, etc)
  • Have an in-built DAG-like transformation layer so that you can transform raw data into aggregated datasets before exploration
  • Cloud-based so it doesn't take time to setup.

Cons (compared to Metabase):

  • Might not look as visually appealing as Metabase

Pricing:

  • Free, paid plans start from $50-$500 per month.

Tableau is considered the best tool when it comes to visualization (prettiness) as it's their primary focus. Tableau is also recently acquired by Salesforce.

Similars or differences to Metabase:

  • While Metabase translates everything to SQL, by default Tableau uses their in-memory datastore, making it more difficult to debug when things go wrong (you can't look at the SQL query to troubleshoot).

Pros (compared to Metabase):

  • Pretty visualization (best in their class)
  • Friendly for business users to build your own chartings
  • Work with a wide range of data sources

Cons (compared to Metabase):

  • To design charts effectively you need to use their Desktop version

Pricing:

  • Based on user roles (Creator, Explorer, Viewer) with mimimum commitment required.
  • They have a Free desktop version if you're publishing the reports publicly.

Coming out of Microsoft and with strong history of Excel and PowerPivot, PowerBI is a fine choice to replace Metabase. They also have ability to load custom visualization.

Similar/Difference from Metabase:

  • While Metabase translates everything to SQL, by default PowerBI uses their in-memory datastore and their proprietary language DAX, making it more difficult to debug when things go wrong (you can't look at the SQL query to troubleshoot).

Pros (compared to Metabase):

  • Their explorer interface is comprehensive for end-business users to work with.
  • They offer from loading data from multiple sources, to drag-and-drop transform UI, to visualization.

Cons (compared to Metabase):

  • We suspect if you're more inclined towards SQL-backed data reporting like Metabase, you might not like Microsoft-style, Excel-like, proprietary approach of PowerBI.
  • PowerBI Editor can only run on Desktop running Windows. (that's why we wrote a post on how to use PowerBI on Mac devices)
  • Their best practice require you to host your data into PowerBI servers, i.e duplicating your data into their server.

Pricing:

  • Free for single user (desktop)
  • $10 per user for small-scale shared resource deployment
  • Starts to get fairly expensive for medium-to-large scale deployment (starts at $5K USD a month - listed price on website).

Looker (now part of Google) is quite a good BI tool to replace Metabase, but only if you're a big organization with large budget.

Pros (compared to Metabase):

  • Have a custom-built DSL layer (called LookML) to perform mapping between database tables and business logic, thus it's more flexible and customizable.
  • Have an in-built transformation layer so that you can transform raw data into aggregated datasets before exploration
  • Cloud-based so it doesn't take time to setup (as compared to Metabase)

Cons (compared to Metabase):

Metabase binning
  • Since they use their own DSL language to model data, it takes quite a learning curve to get started.
  • It's also expensive and meant for large-scale deployment

Pricing:

  • Quite expensive, starting from $3000/month.
Metabase Bi

If you don't need self-service capabilities that Metabase offers for business users, you can also check out these tools:

  • Redash (open-source SQL to chart tools)
  • Cluvio (SQL to chart tool, paid offering with a free plan)
  • Superset (opensource, SQL to chart tool, coming out of Airbnb)
  • Mode Analytics (SQL to chart tool with paid offering)

One of the most interesting parts of building Metabase has been seeing how many different problems it can alleviate that don’t necessarily look like “Business Intelligence”. We’ll go over some uncommon uses of a BI platform like Metabase, and include some steps you can take to get started for each use case.

For each of these use cases, all you need to do is spend five minutes installing Metabase and connecting it to your database, and you’re halfway there.

Quick business intelligence tool

Let’s start with the obvious use case: if you know you want dashboards, have a bunch of KPIs, and enjoy getting updates on these metrics by email: Metabase is great at pushing data throughout your organization.

Metabase Download

What to do:

  • Figure out which tables of your database are relevant to non-engineers, and mark the remainder as hidden.
  • Write descriptions of commonly used tables and any confusing fields to make it easier for people to explore your data.
  • Create a few simple saved questions for frequently asked questions.

Look-up tool for customers, venues, accounts…

You probably have users. These users probably do things like upload photos, leave comments, order products, leave complaints, or have credit card transactions that leave records in your database. It’d be useful to be able to look up user info without having to build custom admin pages—and Metabase was designed with this in mind. Photos, venues—any kind of record that you’d need to look up.

What to do:

  • Figure out the most common ways to find a given record, then tell people how to use filters to find specific records.
  • Click on the primary identifying key of the record to view all the records your database has related to that user.
  • Create a dashboard with some questions.
  • Build out more shared questions and dashboards. Set up nightly emails.
  • As people ask you questions, save the query and give them accounts to Metabase so they can refer back to it, or use it as the starting point of another question.
  • Set up custom destinations to send people to another question or dashboard, or to your CRM or other third-party tool using a parameterized URL.

A browser for your database(s)

At the start of a project, you probably don’t know what you want to measure, so the idea of setting up analytics may seem premature. That said, before launching or even getting a prototype out, there are a number of common tasks that pop up over and over again. You’ll probably want to look up records every once in a while. You’ll likely have user accounts, and it’d be useful to pull up all the information about a user. You’ll probably want to pull information out of the database and import it into a spreadsheet, or some other third party tool. Eventually, after you’ve been asked the same question a few times (e.g., how many users signed up last week?), it’d be nice to automate the answer without committing to creating (and maintaining) a dedicated internal tool for it.

What to do:

  • Use your Metabase in an ad hoc fashion to learn about your data.
  • Stop interrupting engineers to have them write ad hoc custom SQL.
  • Create a dashboard at some point.
  • As you need BI, build out shared questions, dashboards and nightly emails.
  • As people ask you questions, instead of sending them emails, CSVs, or spreadsheets, save the question in Metabase and give people accounts.

A way to field frequently asked questions

If you’re the only person in the office who knows SQL, you’re probably fielding a lot of questions—often the same questions. Metabase works really well as a place to share SQL queries with non-technical users (or even just snippets of SQL). Metabase also provides a friendly GUI interface that allows people to ask their own questions without writing SQL.

What to do:

  • Create Metabase accounts for people.
  • Start to collect common questions, and point people to the Metabase server.
  • Look for opportunities for people to look up other people’s common questions, and provide some simple question templates they can edit.
  • Write some commonly use SQL and save the code as snippets that anyone can use.
  • Watch as folks start to answer their own questions. After a while they’ll be asking you questions about the data model, and how to calculate numbers instead of the answer.
  • Encourage people to look up their own data, as now they can!

A publishing platform

Even in companies that have a lot of data infrastructure in place, there is often a need to publish the results of a complex analysis. While there are a lot of tools that provide support for complicated analysis (R, Matlab, Julia, etc), they’re often less than optimal as a means of relaying the results to the rest of the company. Rather than coding a custom view of these results, or forcing non-technical users to interact with Matlab, you can use Metabase as a simple, lightweight means of publishing these results to the rest of the company. Send people a link to a dashboard, embed the dashboard in your app, or simply take a screenshot of the Metabase chart and stick it in a slide deck: whatever works.

What to do:

  • Decide on where data will be stored: a central data warehouse, or a set of decentralized databases.
  • Dump the data into the database.
  • Seed the Metabase instance with a few common questions that show people how to use the data model.
  • For extra credit, create a dashboard or two with these questions to provide a starting point for passive consumption.