Quantcast
Channel: Metabase | Business Intelligence, Dashboards, and Data Visualization
Viewing all 196 articles
Browse latest View live

Announcing the Metabase Network

$
0
0
Tl;DR - If you're a developer, DBA or analyst looking for contract work from our users sign up here.

Analytics is complicated.

Metabase makes asking questions, setting up dashboards and emails easy, but there are a lot of other moving pieces involved. You need to get a data warehouse set up. Then you need to get data in. Then you realize that it’s not in the right schema. You might want a custom Metabase feature., or a connector to a database we don’t support. Or you might want to integrate Metabase with other software downstream.

We get lots of requests for this sort of help, and we try to do our part via our user forum, github, and email. However, with a small team we don’t have the bandwidth to help everyone. We’ve had to say no to a lot of folks that might well have been helped by someone else.

At the same time, we know there are lots of talented folks out there who are looking for work, whether short term gigs or full time. We’d love to bring these two parts of the ecosystem together.

So, if you’re a developer, administrator or analyst looking for short or long term contracting gigs, let us know. Sign up here. We’ll ask for some information that will help us route work your way and when someone reaches out to us with a request we think you might be a good match for, we’ll pass it on.

FAQS:

  • What does this cost me?
    • Nothing.
  • What’s in it for you, then?
    • Happy Metabase users. People get more value from Metabase if they can get a database with all the information they need, a nice, orderly schema, etc. Happy Metabase users make us happy.
  • How often will you email me?
    • We’ll email you when we get a request for help. We don’t know how frequently this will be, but we promise to screen all opportunities that come your way. We won’t just be forwarding everything to everyone.
  • Will I need to make a public profile?
    • No. We won’t publish anything about you without asking you first.
  • Am I obligated to accept or bid on jobs I receive?
    • Nope. Reply back if anything sparks your interest, or just hit “archive”
  • I think this is a great idea and all, but don’t you have a better name for this than “the Metabase Network”?
    • We’ll likely change it once we come up with a better name. If you have any ideas, let us know!

Interested? Sign up here.


Metabase v0.21 is out

$
0
0

Google Analytics Driver

We’re big fans of Google Analytics at Metabase and find that a great many people use it for behavior analytics while using Metabase for analysing their the information in their database. We’ve added a (relatively experimental) driver that allows you to pull in data from GA for your dashboards and pulses. Try it out and let us know if you’re interested in more non-DB data sources.

Google Analytics

Vertica Driver

Vertica is a common MPP (Massively Parallel Processing) analytics database. As of this release, you can use Metabase to analyze and share information you have stored in a Vertica database.

More Powerful Date + Time Filtering

We’ve made the date filtering options much more powerful in this release. You can now filter by the time of day in addition to a new class of relative date options.

Expanded Relative Date Filtering

Switching Maps to Leaflet

We’ve moved off of using Google Maps for pinmaps and heatmaps. We’re using Leaflet now, which should help with some rate limiting issues some of you have faced.

Improved Rendering Performance for Large Tables

If you have highly denormalized tables with lots of columns, you might have had issues with sluggish rendering. We’ve greatly improved our performance with large tables with this release, and everything should be snappy going forward.

Miscellaneous improvements

We also fixed 24 bugs and closed over 30 other issues. See github for details.

You can download the new version of Metabase at www.metabase.com/start/ To upgrade, see the instructions for your platform. As always we strongly recommend backing up your application database before upgrading.

Metabase v0.22 is out

$
0
0

Collections

We’ve added a new way to organize your questions. You can now create groups of questions called Collections. You can save questions in a given collection, move them around and archive entire collections once you are done with them.

Collections

Collection Permissions

Once you’ve grouped you questions into collections, you can assign permissions to each group. If you’ve struggled to provide controlled access to subsets of SQL questions, this should simplify your life greatly. Learn more

Deprecation Warning We’re doing away with Labels in favor of collections. What’s the difference between them? A question can only live in a single collection, while multiple labels could be applied to a question. This change makes permissions more sensible and clear. While labels will work for a few more versions, we recommend you use collections to group questions together, as we will be removing labels in a future version.

Custom Calculated Expressions

You can now express questions that include mathematical operations in the query builder, as well questions resulting in multiple metrics. Just click on “Custom Expression” in the View menu to enter a formula (similar to how Excel works) and click the “+” icon next to your aggregation to add another metric.

Expressions

Technical Details These expressions are limited to intra-row math (e.g., subtract column X from column Y) and post-aggregation operations (e.g., divide the sum of field X by the average value of field Y). A consequence of this is that multiple aggregations must have the same filters applied to them, so expressions like sum of all transactions with a status "is closed" divided by the number of total transactions can’t be expressed yet.

Miscellaneous improvements

We also fixed 8 bugs and closed over 20 other issues. See github for details.

You can download the new version of Metabase at www.metabase.com/start/ To upgrade, see the instructions for your platform. As always we strongly recommend backing up your application database before upgrading.

Bootstrap your Analytics in 1 hour or Less

$
0
0

Data is well understood to be critical to any company’s success. Ironically, many startups tend to shy away from analytics — especially early on. I believe this partially stems from a myth that if you want to have analytics you should carve out around 25% of your engineering resources to fund it. To a founder with a vision, a 25% distraction from executing on that vision in exchange for ome visibility and insight is too expensive.

But setting up some basic analytics for your product isn’t nearly as difficult as you think! Certainly nowhere near 25% of engineering. While that may be true for mature companies with many large and complicated data pipelines, a small company can easily roll something up with minimal costs. To prove it, I’m going to show you how you can spend 1 hour setting up a system that should be adequate for the next 6 months of your company’s life.

First, let’s talk about what I mean by “having analytics”. I think the minimum requirements are

  • Simple access to your key metrics for everyone in your company
  • A nightly stats email or slack message going out to your team
  • A few hosted dashboards to put up on monitors in the office
  • A place where anyone in your company can explore data (regardless of technical acumen)

In other words, you need metrics and a way to spread them throughout your organization. Let’s begin with the metrics part:

Your Metrics are Already in your Database

Since pie is way more delicious than widgets, let’s imagine you’ve just started a pie delivery company. You decide that at a minimum, the success of your business will depend on

  1. Your ability to get potential pie consumers
  2. Your ability to sell pies to those consumers



If you can reliably grow both 1 and 2 you won’t have too much else to worry about. You decide based on that to track

  1. New user registrations
  2. Pie sales
  3. Repeat usage

You know you can derive a few more interesting metrics just based off of user registration and pie sale data, but for now you’re cool with these big 3 high level metrics. Now how do you actually make these?

At this point a lot of people head to Google Analytics, Mixpanel, or some other 3rd party event analytics provider. While I love these products, and I love event analytics, I also think that this is part of the reason why early stage startups punt on analytics. To set these up the right way means engineering time spent on something orthogonal to developing your core product.

So before you make a case for the engineering team to spend a cycle instrumenting user signups and pie sales, consider this: these metrics are probably already in your application database. In other words, if you’re building a product to delivery pie to users and you don’t have a database table or collection to store your users or the pies they’ve ordered . . . well then a lack of analytics is not your biggest concern. Remember, a piece of software is basically made up of data and logic to operate on that data. Many don’t realize that data in your application can actually be used for analytics as well. So feel free to put your event analytics instrumentation in the backlog and let’s see how much we can get done with just your application database.

Now how do you get these metrics out?

Metabase: An analytics tool that works with your database

There are a lot of ways to fetch information from a database, but there is only one easiest way, and this post is about easy ways.

My favorite tool that I recommend for any company I advise is Metabase. Metabase is the fastest, easiest way to share data and analytics inside your company. It’s super simple to install or deploy, works with almost all databases, and best of all is open source and 100% free — so you should definitely test it out first before you go with some of the paid options out there.

Full disclosure: I work at expa, where Metabase was started, and I am an advisor to the company. I have also, in just the past year, advised 8 different technology startups on data and analytics and in each case have recommended Metabase for them. They all continue to use it.

Installation/Deployment

If you are just in evaluation mode, I would recommend downloading Metabase’s mac app. Follow their setup guide, and you’re ready to create some metrics. However, deploying Metabase either on Heroku or AWS Elastic Beanstalk (best) is highly recommended, as you’ll get a persistent application that’s hosted in the cloud and your whole team can use it.

For a full guide on the deployment process, check out my video tutorial. Metabase’s documentation is pretty comprehensive, as well. If you’re a non-technical person, you may have to shoulder-tap an engineer, especially if your application database is in a VPC on AWS. On that note, it’s also a good idea to create a read replica of your application database and plug that into Metabase. That way you can ensure any heavy duty or hanging queries won’t affect your users.

Once you get Metabase deployed, sign up and add your database credentials. Next, invite your team members so they can get in on the fun.

Creating your metrics

Believe it or not, the rest is pretty easy. The first thing you’ll want to do is build your metrics. In Metabase parlance, these are “Questions”. If you’re the pie business, and you have a reasonably organized schema, you should be able to get your key metrics with just a few clicks. No SQL is required, but of course if you like SQL that option is available.

So build your top metrics, and see if any other interesting ones pop into your mind. Although you can find hundreds of smart people who will tell you to never make a pie chart, I won’t hate on you for making a pie chart based on pie popularity. If metabase is the meta database, it’s only right to make your pie chart meta.

Finishing touches

Next you’ll want to setup a daily stats email. I don’t know what it is about them, but everyone loves daily stats emails. Metabase calls these “Pulses”, and even lets you use Slack if you’re too cool for email. Simply add the Questions you want to send out, pick a time and cadence (it doesn’t have to be daily but that tends to be the most helpful, IMO) and a list of recipients or slack channel and you’re done!

Lastly, everyone loves to see pretty dashboards up on the monitors in the office. Don’t keep them in suspense. Making a dashboard is also quite straightforward. Pick some Questions and organize them as best as your design sensibilities allow you. Load it up on an external monitor you’ve got up in the office, full-screen it, and you’re done!

Recap

You just set up a pretty solid analytics infrastructure for your startup in about an hour. Now your whole team can explore your application database, receive nightly emails, and view a company-wide dashboard. Even better, This setup should last you for quite some time — at least 6 months unless you start experiencing crazy growth (in which case, no complaining).

Ready to try it out? Skeptical of the 1 hour guarantee? Check out my YouTube tutorials, part 1 and part 2, where I walk you through everything you need to know.

Metabase v0.23 is out

$
0
0

Metabase was originally built around collaboration. It came from a need to share common database queries, pass reports around and generally have non-technical members of a team figure out common questions on their own. For the past year or so, we’ve mostly ignored the other big form of collaboration, namely with people outside of your company. With this release, we’ve turned our sights onto this broad swathe of analytics.

We’ve provided three different ways to use Metabase to share data with the outside world.

Public Cards and Dashboards

You can now share a card or dashboard with people that don’t have an account on your Metabase instance. This is done via a secure link that can be shared in Slack, email, text or however else you need to share a link. Public cards and dashboards are hosted on your own instance and can be shut when you’re done sharing them. This lets you do things like share reports with vendors, display dashboards on a TV without allowing any kind of other access, and more! Learn more about public links

Embeddable Cards and Dashboards

Simple Embedding

Additionally, any public card or dashboard can be embedded in a blog post, a web page or anywhere else you can enter HTML code.

Embedding Metabase in other applications

With signed embedding, you can embed a chart or a dashboard in a web application. The main difference between signed embedding from embedding public charts is that with signed embedding you will need to sign requests to Metabase from a server. This allows you to have secure per-user stats dashboards, reports, etc in your application without needing to write any additional code. Learn more about embedding

Encrypting data warehouse credentials

The Metabase team cares a lot about security. We now allow you to encrypt your database credentials at rest, and will be extending this to allow you to encrypt any other information we store on your behalf.

You can download the new version of Metabase at www.metabase.com/start/ To upgrade, see the instructions for your platform. As always we strongly recommend backing up your application database before upgrading.

Metabase v0.24 is out

$
0
0

This is a particularly big release, as we’ve shipped a number of features the team has been wanting for years. One of Metabase’s primary goals has been to allow people who understand their data, but not necessarily SQL or even how to formulate questions, to navigate their company’s data. While the querying UI has proven to be much more accessible than SQL, it’s still relatively complicated, and requires a fair bit of thought in how to structure one’s questions.

With this version, we’ve provided interactivity for the visualizations you see and allow you to iteratively ask simple, successive questions.

Actions

Actions refer to ways you can change the question you’re currently working with. You’re now able to do things like view the underlying data of charts, re-pivot questions, summarize tables, and more, quickly and easily.

Actions

One caveat – actions and drill-through are only for cards built using our GUI. We’ll provide ways to use them on questions that are built in SQL in coming releases.

Drill-through

Drill-through means that any data point in a question result you click on can be explored — whether a bar in a bar chart, a cell in a pivot table, or a username in a list of users. We suggest you get in the habit of clicking on interesting data points and seeing where you can go!

Drill through on charts

Caching

When you put out a blog with a chart in it, chances are you do so hoping that people will read it. You might even be hoping that a lot of people end up reading your post. If that blog post has a live chart on it, chances are you probably don’t want each of those readers causing your data warehouse to run the same query. With this release, we allow you to cache data warehouse queries, and let more people read your magnum opus. We also provide adaptive caching settings that cache slower-running queries for longer.

Presto Support

Dipping our toes in the Hadoop waters, we now support Presto, one of the main SQL-on-Hadoop options. Hats off to our community member, William Turner, for all the hard work that went into this.

New Dashboard Listing Page

If you’re part of an organization with lots and lots of dashboards, you probably have found the current drop-down for dashboards a bit claustrophobic. We’ve given dashboards their own listing page, which will make it easier to stay organized as you grow.

Miscellaneous Improvements

We also fixed 60 bugs and closed over 37 other issues. See github for details.

Upgrading to the Latest Version

You can download the new version of Metabase at www.metabase.com/start/ To upgrade, see the instructions for your platform. As always we strongly recommend backing up your application database before upgrading.

Metabase 0.25 - Summer shandy

$
0
0

It’s summer in the Metabase hemisphere, which means we have a crisp and refreshing new release for you. Perfect for porch sitting, firefly catching, and also data analysis because that’s probably what you actually do with Metabase.

You can download the latest version here. If you’re upgrading, here are some instructions. As usual, we suggest backing up your data before you upgrade.

Here’s what’s new and what’s changed.

Friendlier fields

Foreign key relationships make sense for applications and data storage but (most) people in the real world don’t refer to their tea kettle by an ID. When looking at and working with data it’s a lot nicer to be able to see that you’re dealing with a certain product or a user named “Sarah.”

Metabase now lets you display relevant information in place of not-so-relevant information in a process we call remapping. Users will automatically see remapped data anywhere an original ID or value would exist.

Remapping

Foreign key remapping

In most cases you’ll probably want to show information from a field in a related table. This is perfect for showing user names or product categories from elsewhere in your schema in place of IDs without having to create custom tables or views.

Custom remapping

In cases where you might not have values from another table, you can set up custom remapping. This is useful if you’re storing values that have an associated meaning to you or your team.

An example of this would be a scenario where your DB stores “1” for “Shipped” or “-1” for “Returned.” Rather than make your users memorize that (or make them have to ask someone who knows) now you can just display “Returned or “Shipped” in the relevant places.

Nested questions

At many companies there lives a SQL wizard. The SQL wizard has great power and creates enriched tables or metrics about your customers and product usage, and those tables then get used by other parts of the company.

Previously, to modify or work with those tables in Metabase, many members of your company might have needed to take night classes at wizard school, or order a big bowl of copy pasta, in order to work with the data, when what they really wanted was to use the “Best Customers” table as a starting point for their own analysis.

We looked at that and said, “Yeah that makes a ton of sense — let’s make that easier.” Now, existing saved questions can be used as starting points for new queries in the query builder, allowing anyone to take advantage of the great work of their SQL Wizard without needing to know anything about the underlying query. To them it’ll look just like a normal table.

Nested questions

The best part is, whether written in SQL or not, these questions come enriched with Metabase goodies like drill through and actions

We’ll accept your “questions all the way down” jokes via Twitter. Just hit up @metabase.

LDAP

Getting Metabase set up inside your organization is now even easier. In addition to Google Sign-in we now support LDAP authentication so you can take your existing directory setup and enable Metabase logins for your organization without having to manually create accounts.

Huge thanks to @wwwiiilll for contributing this feature.

By the way, if you’re also interested in contributing to Metabase we’ve marked some good issues to get started with.

Assorted bug fixes

As usual we also try to squash as many bugs as we can. You can find the full list of bugs fixed in this release here. As always, a huge thanks to all of you in the community for reporting your issues.

That does it from us for now. We’ll see you back here for 0.26 soon.

We put questions inside your questions

$
0
0

Yo Dawg! We heard you like questions do we put questions inside your questions

The Metabase query builder lets you run simple queries on a single table in your database. Within this fundamental idiom, we’ve added the ability to pull in information from tables linked by Foreign Keys, modify the columns, and create new columns based on mathematical expressions. However, this has been the core pattern we’ve held to, and it has had some payoffs in terms of usability.

We’ve found that while it doesn’t provide as much power as some other tools, it does let 80% of non-technical users ask 20% of their questions while everything else out there is focused on letting an elite 5% of the company ask 80% of their questions.

Building on this, with our new release, you can now use a saved question as a “table” in our query builder.

Why’s this useful?

The obvious use case is to aggregate or slice and dice the results of another question, e.g. “the average of daily revenue.” More interestingly, you can use saved questions — either GUI or SQL ones — as a starting point for a new question.

This lets you use SQL to generate a complicated intermediate result (a.k.a. a subquery) and then use it in the query builder.

Other tools force you to either make really monstrous SQL templates, or use a weird YAML proprietary language to generate “heavy” artifacts that your non-technical users can use. But with nested questions, you can use standard SQL to create these subqueries and then use the query builder. If done with some foresight, this means you can use lightweight, vanilla SQL and the query builder to expose interfaces that would have otherwise required lots of weird SQL or YAML.

What about joins?

We’ve long resisted the notion of putting joins in our application due to how complicated it would make what is an otherwise fairly simple interface. While joins are extremely versatile and useful, we didn’t want to turn Metabase into YetAnotherComplexTool that focuses on the 5% asking 80% of their questions.

Now, if you want to ask a question that involves two or more tables, use a join in the nested sub-question. Rather than creating a complex interface to facilitate joins, you can just use standard SQL. While the intricacies of inner, outer, left, right, up, down and all around joins are indeed subtle and can be complicated, the actual SQL syntax is fairly simple. Rather than reinvent a graphical wheel, we figure anyone who knows the difference between a left inner and right outer join also knows some SQL.

Does this mean you won’t be adding more powerful features to the query builder?

Not at all. We have a lot in store for the query builder! We’ll be pushing pretty hard on exposing more functionality for both non-technical users and technical users in the coming releases. They’ll focus on the things that SQL isn’t so hot at rather than the things SQL does really well. We’ll also be redesigning the interface to make it even more accessible to non-technical users, making it easier for them to find common starting points for their questions.

Won’t this be slow?

That depends. It’s possible for you to generate a slow query, but it would have been slow if you had used an explicit subquery as well, and we’ve found that our users tend to use those fairly often.

What if my users run too many compound queries and slow things down?

This means your users are finding value in running those queries, and you should optimize them. The path to optimization is turning the subquery into a materialized view, and if that is slow (e.g., on inserts), split that off into a batch or streaming transformation process that produces a similar table. We suggest keeping the same table name, as that would let you potentially replace the queries in place.

What’s next?

We suggest you give nested queries a spin and give us some feedback. We have a number of open issues where we are discussing next steps and improvements:

If one or more of these would significantly simplify your life, please chime in on the issues. We prioritize feature enhancements based on how many of our users also think they’re good ideas.


Help us provide Metabase in your language!

$
0
0

Overview

The Metabase project has a lot of users for whom English is not a first language. There are also a lot more potential users who would be able to use Metabase if it provided an interface in their native language.

However, the team has neither the in-house language proficiency, nor the funds to hire translators in all of these languages. Additionally, we have a fairly high bar for design and copy, and are in active development, which means that there is a fair bit of work to be done in translation.

To explore the project’s ability to deliver a localized experience, we’re going to take a crack at it over the next few months. This will occur in two main stages per language.

Stages

A) Localization of user-facing interfaces

  • The core team (or the community) finds and replaces all the user-facing strings with i18n wrappers.
  • The core team finds all in-image text, extracts it from the image, and wraps it.
  • The community provides translations for as many of these as possible.
  • Based on how complete the translations and commitments behind them are, some fraction of languages are elevated to “Primary.”
  • If a language passes the criteria for becoming a primary end-user-facing language, an admin can switch the interface to that language.

B) Localization of admin-facing interfaces

  • The core team finds and replaces all the admin-facing strings with i18n wrappers.
  • The community provides translations for as many of these as possible.
  • Based on how complete the translations and commitments behind them are, some fraction of languages are elevated to “Primary,” only if the user-facing localization has already been completed.
  • A language that has a Primary level translation on both the user-facing interface and the admin-facing interface will be eligible for a setup wizard selection for the entire end-to-end setup process to be in that language.

Criteria for a primary language

100% translation coverage

The coverage should be complete. While occasional regressions from this standard are okay in the event of a launch, the expectation is that once a language enters the primary list, there will be a consistent level of quality and coverage of translations that hovers around 100% complete.

Design sign-off

The lengths of the translated text can’t break the design of the application. If a translation breaks our design, one of the two need to be fixed.

Native speaker sign-off

The translations should have a similar feel and tone as the english versions — helpful, informal and nice.

Committed translator

There should be an individual or institution that commits to following the ~6 week release cadence of the project, and making sure that their language is up-to-date on any language tweaks. At the start of a release process, we will send out an email describing the features we plan on working on and the expected changes in UI. Once those have been stabilized, we’ll then send out an email approximately 1 or 2 weeks away from the release. At that point, it is expected that the individual or institution will commit to providing translations in time.

Once a language is already translated, this will be a fairly modest time commitment, but an extremely important one to follow through with.

Secondary languages

We will additionally maintain a list of secondary languages. Depending on the scale of localization, we might or might not provide a way for end users to select them. They will not be publicized or made easily switchable into.

Dropping languages from the primary list

If after a release or two the quality of a language drops, the core team might drop that language from the primary list to the secondary list. On upgrade, we will warn the administrator in the Admin UI that they are using a currently “less supported” language.

Community

This is not an effort the core team can do on our own. We need individuals or institutions to step up and help us. The help will not be quick and glamorous, but hopefully the payoff of helping others who speak your language to use Metabase will make it worthwhile and gratifying for you.

If you’re interested in helping, please sign up here.

Want to provide a white labelled version of Metabase?

$
0
0

Since we’ve publicized our contact form, one of the most common requests has been to offer some form of a white labled version of Metabase. We listened and have built a version that we hope lets you combine the power, ease of use and ease of administration of Metabase with your own branded experience.

We’ll be running a beta program for this version of Metabase in September and October.

This beta period will be free for participants as we nail down pricing and exact scope of features. While taking part in the program is not a commitment to sign up for the paid version we will launch after the conclusion of the program, it is expected that you are actively interested in using a branded version of Metabase.

If you’re interested in joining the Beta program, please sign up here

Metabase v0.22 is out

$
0
0

Collections

We’ve added a new way to organize your questions. You can now create groups of questions called Collections. You can save questions in a given collection, move them around and archive entire collections once you are done with them.

Collections

Collection Permissions

Once you’ve grouped you questions into collections, you can assign permissions to each group. If you’ve struggled to provide controlled access to subsets of SQL questions, this should simplify your life greatly. Learn more

Deprecation Warning We’re doing away with Labels in favor of collections. What’s the difference between them? A question can only live in a single collection, while multiple labels could be applied to a question. This change makes permissions more sensible and clear. While labels will work for a few more versions, we recommend you use collections to group questions together, as we will be removing labels in a future version.

Custom Calculated Expressions

You can now express questions that include mathematical operations in the query builder, as well questions resulting in multiple metrics. Just click on “Custom Expression” in the View menu to enter a formula (similar to how Excel works) and click the “+” icon next to your aggregation to add another metric.

Expressions

Technical Details These expressions are limited to intra-row math (e.g., subtract column X from column Y) and post-aggregation operations (e.g., divide the sum of field X by the average value of field Y). A consequence of this is that multiple aggregations must have the same filters applied to them, so expressions like sum of all transactions with a status "is closed" divided by the number of total transactions can’t be expressed yet.

Miscellaneous improvements

We also fixed 8 bugs and closed over 20 other issues. See github for details.

You can download the new version of Metabase at www.metabase.com/start/ To upgrade, see the instructions for your platform. As always we strongly recommend backing up your application database before upgrading.

Bootstrap your Analytics in 1 hour or Less

$
0
0

Data is well understood to be critical to any company’s success. Ironically, many startups tend to shy away from analytics — especially early on. I believe this partially stems from a myth that if you want to have analytics you should carve out around 25% of your engineering resources to fund it. To a founder with a vision, a 25% distraction from executing on that vision in exchange for ome visibility and insight is too expensive.

But setting up some basic analytics for your product isn’t nearly as difficult as you think! Certainly nowhere near 25% of engineering. While that may be true for mature companies with many large and complicated data pipelines, a small company can easily roll something up with minimal costs.To prove it, I’m going to show you how you can spend 1 hour setting up a system that should be adequate for the next 6 months of your company’s life.

First, let’s talk about what I mean by “having analytics”. I think the minimum requirements are

  • Simple access to your key metrics for everyone in your company
  • A nightly stats email or slack message going out to your team
  • A few hosted dashboards to put up on monitors in the office
  • A place where anyone in your company can explore data (regardless of technical acumen)

In other words, you need metrics and a way to spread them throughout your organization. Let’s begin with the metrics part:

Your Metrics are Already in your Database

Since pie is way more delicious than widgets, let’s imagine you’ve just started a pie delivery company. You decide that at a minimum, the success of your business will depend on

  1. Your ability to get potential pie consumers
  2. Your ability to sell pies to those consumers



If you can reliably grow both 1 and 2 you won’t have too much else to worry about. You decide based on that to track

  1. New user registrations
  2. Pie sales
  3. Repeat usage

You know you can derive a few more interesting metrics just based off of user registration and pie sale data, but for now you’re cool with these big 3 high level metrics. Now how do you actually make these?

At this point a lot of people head to Google Analytics, Mixpanel, or some other 3rd party event analytics provider. While I love these products, and I love event analytics, I also think that this is part of the reason why early stage startups punt on analytics. To set these up the right way means engineering time spent on something orthogonal to developing your core product.

So before you make a case for the engineering team to spend a cycle instrumenting user signups and pie sales, consider this: these metrics are probably already in your application database. In other words, if you’re building a product to delivery pie to users and you don’t have a database table or collection to store your users or the pies they’ve ordered . . . well then a lack of analytics is not your biggest concern. Remember, a piece of software is basically made up of data and logic to operate on that data. Many don’t realize that data in your application can actually be used for analytics as well. So feel free to put your event analytics instrumentation in the backlog and let’s see how much we can get done with just your application database.

Now how do you get these metrics out?

Metabase: An analytics tool that works with your database

There are a lot of ways to fetch information from a database, but there is only one easiest way, and this post is about easy ways.

My favorite tool that I recommend for any company I advise is Metabase. Metabase is the fastest, easiest way to share data and analytics inside your company. It’s super simple to install or deploy, works with almost all databases, and best of all is open source and 100% free — so you should definitely test it out first before you go with some of the paid options out there.

Full disclosure: I work at expa, where Metabase was started, and I am an advisor to the company. I have also, in just the past year, advised 8 different technology startups on data and analytics and in each case have recommended Metabase for them. They all continue to use it.

Installation/Deployment

If you are just in evaluation mode, I would recommend downloading Metabase’s mac app. Follow their setup guide, and you’re ready to create some metrics. However, deploying Metabase either on Heroku or AWS Elastic Beanstalk (best) is highly recommended, as you’ll get a persistent application that’s hosted in the cloud and your whole team can use it.

For a full guide on the deployment process, check out my video tutorial. Metabase’s documentation is pretty comprehensive, as well. If you’re a non-technical person, you may have to shoulder-tap an engineer, especially if your application database is in a VPC on AWS. On that note, it’s also a good idea to create a read replica of your application database and plug that into Metabase. That way you can ensure any heavy duty or hanging queries won’t affect your users.

Once you get Metabase deployed, sign up and add your database credentials. Next, invite your team members so they can get in on the fun.

Creating your metrics

Believe it or not, the rest is pretty easy. The first thing you’ll want to do is build your metrics. In Metabase parlance, these are “Questions”. If you’re the pie business, and you have a reasonably organized schema, you should be able to get your key metrics with just a few clicks. No SQL is required, but of course if you like SQL that option is available.

So build your top metrics, and see if any other interesting ones pop into your mind. Although you can find hundreds of smart people who will tell you to never make a pie chart, I won’t hate on you for making a pie chart based on pie popularity. If metabase is the meta database, it’s only right to make your pie chart meta.

Finishing touches

Next you’ll want to setup a daily stats email. I don’t know what it is about them, but everyone loves daily stats emails. Metabase calls these “Pulses”, and even lets you use Slack if you’re too cool for email. Simply add the Questions you want to send out, pick a time and cadence (it doesn’t have to be daily but that tends to be the most helpful, IMO) and a list of recipients or slack channel and you’re done!

Lastly, everyone loves to see pretty dashboards up on the monitors in the office. Don’t keep them in suspense. Making a dashboard is also quite straightforward. Pick some Questions and organize them as best as your design sensibilities allow you. Load it up on an external monitor you’ve got up in the office, full-screen it, and you’re done!

Recap

You just set up a pretty solid analytics infrastructure for your startup in about an hour. Now your whole team can explore your application database, receive nightly emails, and view a company-wide dashboard. Even better, This setup should last you for quite some time — at least 6 months unless you start experiencing crazy growth (in which case, no complaining).

Ready to try it out? Skeptical of the 1 hour guarantee? Check out my YouTube tutorials, part 1 and part 2, where I walk you through everything you need to know.

Metabase v0.23 is out

$
0
0

Metabase was originally built around collaboration. It came from a need to share common database queries, pass reports around and generally have non-technical members of a team figure out common questions on their own. For the past year or so, we’ve mostly ignored the other big form of collaboration, namely with people outside of your company. With this release, we’ve turned our sights onto this broad swathe of analytics.

We’ve provided three different ways to use Metabase to share data with the outside world.

Public Cards and Dashboards

You can now share a card or dashboard with people that don’t have an account on your Metabase instance. This is done via a secure link that can be shared in Slack, email, text or however else you need to share a link. Public cards and dashboards are hosted on your own instance and can be shut when you’re done sharing them. This lets you do things like share reports with vendors, display dashboards on a TV without allowing any kind of other access, and more! Learn more about public links

Embeddable Cards and Dashboards

Simple Embedding

Additionally, any public card or dashboard can be embedded in a blog post, a web page or anywhere else you can enter HTML code.

Embedding Metabase in other applications

With signed embedding, you can embed a chart or a dashboard in a web application. The main difference between signed embedding from embedding public charts is that with signed embedding you will need to sign requests to Metabase from a server. This allows you to have secure per-user stats dashboards, reports, etc in your application without needing to write any additional code. Learn more about embedding

Encrypting data warehouse credentials

The Metabase team cares a lot about security. We now allow you to encrypt your database credentials at rest, and will be extending this to allow you to encrypt any other information we store on your behalf.

You can download the new version of Metabase at www.metabase.com/start/ To upgrade, see the instructions for your platform. As always we strongly recommend backing up your application database before upgrading.

Metabase v0.24 is out

$
0
0

This is a particularly big release, as we’ve shipped a number of features the team has been wanting for years. One of Metabase’s primary goals has been to allow people who understand their data, but not necessarily SQL or even how to formulate questions, to navigate their company’s data. While the querying UI has proven to be much more accessible than SQL, it’s still relatively complicated, and requires a fair bit of thought in how to structure one’s questions.

With this version, we’ve provided interactivity for the visualizations you see and allow you to iteratively ask simple, successive questions.

Actions

Actions refer to ways you can change the question you’re currently working with. You’re now able to do things like view the underlying data of charts, re-pivot questions, summarize tables, and more, quickly and easily.

Actions

One caveat – actions and drill-through are only for cards built using our GUI. We’ll provide ways to use them on questions that are built in SQL in coming releases.

Drill-through

Drill-through means that any data point in a question result you click on can be explored — whether a bar in a bar chart, a cell in a pivot table, or a username in a list of users. We suggest you get in the habit of clicking on interesting data points and seeing where you can go!

Drill through on charts

Caching

When you put out a blog with a chart in it, chances are you do so hoping that people will read it. You might even be hoping that a lot of people end up reading your post. If that blog post has a live chart on it, chances are you probably don’t want each of those readers causing your data warehouse to run the same query. With this release, we allow you to cache data warehouse queries, and let more people read your magnum opus. We also provide adaptive caching settings that cache slower-running queries for longer.

Presto Support

Dipping our toes in the Hadoop waters, we now support Presto, one of the main SQL-on-Hadoop options. Hats off to our community member, William Turner, for all the hard work that went into this.

New Dashboard Listing Page

If you’re part of an organization with lots and lots of dashboards, you probably have found the current drop-down for dashboards a bit claustrophobic. We’ve given dashboards their own listing page, which will make it easier to stay organized as you grow.

Miscellaneous Improvements

We also fixed 60 bugs and closed over 37 other issues. See github for details.

Upgrading to the Latest Version

You can download the new version of Metabase at www.metabase.com/start/ To upgrade, see the instructions for your platform. As always we strongly recommend backing up your application database before upgrading.

Metabase 0.25 - Summer shandy

$
0
0

It’s summer in the Metabase hemisphere, which means we have a crisp and refreshing new release for you. Perfect for porch sitting, firefly catching, and also data analysis because that’s probably what you actually do with Metabase.

You can download the latest version here. If you’re upgrading, here are some instructions. As usual, we suggest backing up your data before you upgrade.

Here’s what’s new and what’s changed.

Friendlier fields

Foreign key relationships make sense for applications and data storage but (most) people in the real world don’t refer to their tea kettle by an ID. When looking at and working with data it’s a lot nicer to be able to see that you’re dealing with a certain product or a user named “Sarah.”

Metabase now lets you display relevant information in place of not-so-relevant information in a process we call remapping. Users will automatically see remapped data anywhere an original ID or value would exist.

Remapping

Foreign key remapping

In most cases you’ll probably want to show information from a field in a related table. This is perfect for showing user names or product categories from elsewhere in your schema in place of IDs without having to create custom tables or views.

Custom remapping

In cases where you might not have values from another table, you can set up custom remapping. This is useful if you’re storing values that have an associated meaning to you or your team.

An example of this would be a scenario where your DB stores “1” for “Shipped” or “-1” for “Returned.” Rather than make your users memorize that (or make them have to ask someone who knows) now you can just display “Returned or “Shipped” in the relevant places.

Nested questions

At many companies there lives a SQL wizard. The SQL wizard has great power and creates enriched tables or metrics about your customers and product usage, and those tables then get used by other parts of the company.

Previously, to modify or work with those tables in Metabase, many members of your company might have needed to take night classes at wizard school, or order a big bowl of copy pasta, in order to work with the data, when what they really wanted was to use the “Best Customers” table as a starting point for their own analysis.

We looked at that and said, “Yeah that makes a ton of sense — let’s make that easier.” Now, existing saved questions can be used as starting points for new queries in the query builder, allowing anyone to take advantage of the great work of their SQL Wizard without needing to know anything about the underlying query. To them it’ll look just like a normal table.

Nested questions

The best part is, whether written in SQL or not, these questions come enriched with Metabase goodies like drill through and actions

We’ll accept your “questions all the way down” jokes via Twitter. Just hit up @metabase.

LDAP

Getting Metabase set up inside your organization is now even easier. In addition to Google Sign-in we now support LDAP authentication so you can take your existing directory setup and enable Metabase logins for your organization without having to manually create accounts.

Huge thanks to @wwwiiilll for contributing this feature.

By the way, if you’re also interested in contributing to Metabase we’ve marked some good issues to get started with.

Assorted bug fixes

As usual we also try to squash as many bugs as we can. You can find the full list of bugs fixed in this release here. As always, a huge thanks to all of you in the community for reporting your issues.

That does it from us for now. We’ll see you back here for 0.26 soon.


We put questions inside your questions

$
0
0

Yo Dawg! We heard you like questions do we put questions inside your questions

The Metabase query builder lets you run simple queries on a single table in your database. Within this fundamental idiom, we’ve added the ability to pull in information from tables linked by Foreign Keys, modify the columns, and create new columns based on mathematical expressions. However, this has been the core pattern we’ve held to, and it has had some payoffs in terms of usability.

We’ve found that while it doesn’t provide as much power as some other tools, it does let 80% of non-technical users ask 20% of their questions while everything else out there is focused on letting an elite 5% of the company ask 80% of their questions.

Building on this, with our new release, you can now use a saved question as a “table” in our query builder.

Why’s this useful?

The obvious use case is to aggregate or slice and dice the results of another question, e.g. “the average of daily revenue.” More interestingly, you can use saved questions — either GUI or SQL ones — as a starting point for a new question.

This lets you use SQL to generate a complicated intermediate result (a.k.a. a subquery) and then use it in the query builder.

Other tools force you to either make really monstrous SQL templates, or use a weird YAML proprietary language to generate “heavy” artifacts that your non-technical users can use. But with nested questions, you can use standard SQL to create these subqueries and then use the query builder. If done with some foresight, this means you can use lightweight, vanilla SQL and the query builder to expose interfaces that would have otherwise required lots of weird SQL or YAML.

What about joins?

We’ve long resisted the notion of putting joins in our application due to how complicated it would make what is an otherwise fairly simple interface. While joins are extremely versatile and useful, we didn’t want to turn Metabase into YetAnotherComplexTool that focuses on the 5% asking 80% of their questions.

Now, if you want to ask a question that involves two or more tables, use a join in the nested sub-question. Rather than creating a complex interface to facilitate joins, you can just use standard SQL. While the intricacies of inner, outer, left, right, up, down and all around joins are indeed subtle and can be complicated, the actual SQL syntax is fairly simple. Rather than reinvent a graphical wheel, we figure anyone who knows the difference between a left inner and right outer join also knows some SQL.

Does this mean you won’t be adding more powerful features to the query builder?

Not at all. We have a lot in store for the query builder! We’ll be pushing pretty hard on exposing more functionality for both non-technical users and technical users in the coming releases. They’ll focus on the things that SQL isn’t so hot at rather than the things SQL does really well. We’ll also be redesigning the interface to make it even more accessible to non-technical users, making it easier for them to find common starting points for their questions.

Won’t this be slow?

That depends. It’s possible for you to generate a slow query, but it would have been slow if you had used an explicit subquery as well, and we’ve found that our users tend to use those fairly often.

What if my users run too many compound queries and slow things down?

This means your users are finding value in running those queries, and you should optimize them. The path to optimization is turning the subquery into a materialized view, and if that is slow (e.g., on inserts), split that off into a batch or streaming transformation process that produces a similar table. We suggest keeping the same table name, as that would let you potentially replace the queries in place.

What’s next?

We suggest you give nested queries a spin and give us some feedback. We have a number of open issues where we are discussing next steps and improvements:

If one or more of these would significantly simplify your life, please chime in on the issues. We prioritize feature enhancements based on how many of our users also think they’re good ideas.

Help us provide Metabase in your language!

$
0
0

Overview

The Metabase project has a lot of users for whom English is not a first language. There are also a lot more potential users who would be able to use Metabase if it provided an interface in their native language.

However, the team has neither the in-house language proficiency, nor the funds to hire translators in all of these languages. Additionally, we have a fairly high bar for design and copy, and are in active development, which means that there is a fair bit of work to be done in translation.

To explore the project’s ability to deliver a localized experience, we’re going to take a crack at it over the next few months. This will occur in two main stages per language.

Stages

A) Localization of user-facing interfaces

  • The core team (or the community) finds and replaces all the user-facing strings with i18n wrappers.
  • The core team finds all in-image text, extracts it from the image, and wraps it.
  • The community provides translations for as many of these as possible.
  • Based on how complete the translations and commitments behind them are, some fraction of languages are elevated to “Primary.”
  • If a language passes the criteria for becoming a primary end-user-facing language, an admin can switch the interface to that language.

B) Localization of admin-facing interfaces

  • The core team finds and replaces all the admin-facing strings with i18n wrappers.
  • The community provides translations for as many of these as possible.
  • Based on how complete the translations and commitments behind them are, some fraction of languages are elevated to “Primary,” only if the user-facing localization has already been completed.
  • A language that has a Primary level translation on both the user-facing interface and the admin-facing interface will be eligible for a setup wizard selection for the entire end-to-end setup process to be in that language.

Criteria for a primary language

100% translation coverage

The coverage should be complete. While occasional regressions from this standard are okay in the event of a launch, the expectation is that once a language enters the primary list, there will be a consistent level of quality and coverage of translations that hovers around 100% complete.

Design sign-off

The lengths of the translated text can’t break the design of the application. If a translation breaks our design, one of the two need to be fixed.

Native speaker sign-off

The translations should have a similar feel and tone as the english versions — helpful, informal and nice.

Committed translator

There should be an individual or institution that commits to following the ~6 week release cadence of the project, and making sure that their language is up-to-date on any language tweaks. At the start of a release process, we will send out an email describing the features we plan on working on and the expected changes in UI. Once those have been stabilized, we’ll then send out an email approximately 1 or 2 weeks away from the release. At that point, it is expected that the individual or institution will commit to providing translations in time.

Once a language is already translated, this will be a fairly modest time commitment, but an extremely important one to follow through with.

Secondary languages

We will additionally maintain a list of secondary languages. Depending on the scale of localization, we might or might not provide a way for end users to select them. They will not be publicized or made easily switchable into.

Dropping languages from the primary list

If after a release or two the quality of a language drops, the core team might drop that language from the primary list to the secondary list. On upgrade, we will warn the administrator in the Admin UI that they are using a currently “less supported” language.

Community

This is not an effort the core team can do on our own. We need individuals or institutions to step up and help us. The help will not be quick and glamorous, but hopefully the payoff of helping others who speak your language to use Metabase will make it worthwhile and gratifying for you.

If you’re interested in helping, please sign up here.

Want to provide a white labelled version of Metabase?

$
0
0

Since we’ve publicized our contact form, one of the most common requests has been to offer some form of a white labled version of Metabase. We listened and have built a version that we hope lets you combine the power, ease of use and ease of administration of Metabase with your own branded experience.

We’ll be running a beta program for this version of Metabase in September and October.

This beta period will be free for participants as we nail down pricing and exact scope of features. While taking part in the program is not a commitment to sign up for the paid version we will launch after the conclusion of the program, it is expected that you are actively interested in using a branded version of Metabase.

If you’re interested in joining the Beta program, please sign up here

Metabase 0.26

$
0
0

Metabase 0.26

Just like it’s taboo to wear white after Labor Day, it’s also taboo to have Metabase still be at version 0.25 after Labor Day, so we decided we’d better get on that and release a new version. We also made some really cool new stuff, so those two things dovetailed nicely.

A new New Question flow.

We’ve known for a long time that starting an exploration in Metabase is a bit like being thrown into the deep end of the pool. While the graphical interface for querying is a nice alternative for those that don’t know or don’t want to use SQL, it didn’t highlight existing metrics, so it could be hard to know where to start.

We’ve overhauled the flow to provide easier paths to existing metrics in your company’s Metabase, and we’ve also elevated the path to the native query editor to make it faster to start writing queries if that’s your thing.

New question flow

The doctor would like to go over your x-ray results

Metabase has always been about trying to make knowledge more accessible to more people with less work, so we’re continuing in that vein by introducing a new feature called X-rays. X-rays try to give you answers to common questions like “what’s the average value of purchase totals?” without having to write a query.

For this first version, you can x-ray fields, tables, segments, and time series questions. Depending on what you’re looking at you’ll see things like the distribution of values by day of week, or the mean, median, and mode of values for a field.

Things start to get even more interesting when you use X-rays to compare segments to tables. Metabase will point out what’s most different between the two entities you’re viewing to help you understand the segment and how it differs from the whole.

My personal favorite feature is when you X-ray a time series question. Depending on the time range, we’ll give you growth rates like week-over-week or year-over-rear, and also show you the overall trend line.

We’re still working on both X-Rays and Comparisons, and there are no doubt a few rough edges. However, we’re excited to get this in your hands sooner rather than later and would love your feedback on how we can improve the usefulness of X-rays.

Time series x-ray

Smarter syncing

Metabase does some automated analysis on a schedule under the hood to power features like showing values in dashboard or SQL question filters. Previously Metabase would perform these tasks on a set schedule with an hourly light weight analysis and a more in-depth analysis every 24 hours. Now you can control the schedule for these processes to suit your needs, or analyze just a single table or field on demand. We’ve also overhauled the analysis process itself to make it smarter and more powerful.

Where have you bin all our lives?

When grouping a metric by a numeric field, Metabase will now automatically “bin” the numeric field into ranges that make sense for your results. For example, if you have Users by Age, you’ll see the ages grouped into bins like 18–27, 28–37, 38–47, and so on. And if you don’t like the bins Metabase chose, you can change them to your liking. Binning looks especially nice with bar charts, allowing you to create histograms.

In the (time) zone

We’ve also done a bunch of work for this release to try and fix some persistent issues with time zones. You can follow along with all the work we did on that front here. We’ve also updated the timezones troubleshooting guide with some handy common fixes.

To see the other things we fixed and updated, check out the full release notes.

We’ll see you soon for 0.27. As always, thanks for using Metabase.

Metabase 0.27

$
0
0

Just in time for the holidays, Metabase 0.27 is here with one much-requested feature, an upgrade to X-rays, and more. At Metabase, nothing puts us in a festive mood quite like conditional alerts and automated machine-learning-based time series insights.

Alerts!

Alerts are here at last. Now you can set up an alert on any saved question and be notified via email or Slack whenever it reaches a goal or has results for you to see.

Alerts

It’s a really common thing to keep tabs on a metric over time, and to want to be alerted when it goes above or below a specific value, or goal. To set up a goal-based alert in Metabase, all you need to do is create a time series question and add a goal line to it in the visualization settings, then click on the “Get alerts about this” option in the new top-right menu. You can also get goal alerts when you create a progress bar question.

Another situation where you might want to get alerts is when you have a question that returns rows in a table that match a certain condition. It might not usually return results, but you want to know when it does. As an example, maybe you have a question that returns all the bad reviews users have given your product in the past 24 hours. Hopefully that question doesn’t normally have any results, but you can set up an alert on it and tell Metabase to let you know if there are any bad reviews for you to look at.

If you’d like to learn more about setting up alerts, boy do we have the relevant doc page for you.

X-ray insights

Metabase hasn’t achieved self-awareness quite yet, but it has gotten smarter recently. When you x-ray a time series question or a numeric field, Metabase will now show you relevant insights about your data, provided there’s something insightful to say.

Insights

X-rays and insights are still somewhat experimental, so we’d love your feedback on how we can continue to make them better.

Charting improvements

We’ve also made a few improvements to charting, like the ability to change the label of a series on a chart, and fixing overlapping x-axis labels.

Fixes, improvements, and more

To see the other things we fixed and updated, you can check out the full release notes.

Upgrading to the latest version

You can download the new version of Metabase at www.metabase.com/start/. To upgrade, see the instructions for your platform. As always, we strongly recommend backing up your application database before upgrading.

Metabase 0.28 will be here before you know it, so we’ll see you then. And as always, thanks for using Metabase!

Viewing all 196 articles
Browse latest View live