xmetric, Metabase or Data Studio: which BI tool fits a small team?
Pick by where your data lives. If it's exports (Shopify, Stripe, HubSpot CSVs) or inherited .twbx workbooks, use xmetric: free, nothing to set up, files stay in the browser. If it's a production Postgres or MySQL database, use Metabase: it connects to SQL databases directly. If it's Google Ads, GA4 and Sheets, use Data Studio.
Updated
Our pick
xmetric
For a team that works from exports and spreadsheets, it's free, there's nothing to host, the files stay in your browser, and FIXED expressions answer cohort questions in one line. It also opens the .twbx workbooks other teams send.
Pick something else if
Your data is in a production SQL database that the whole team queries live (Metabase), or your reporting runs on live Google Ads, GA4 and Sheets data (Data Studio). Both connect live today; xmetric's database connections are still coming.
xmetric makes this page. Every vendor fact below links to the vendor’s own page and the date we checked it.
How they compare
xmetric Our pickMetabaseData Studio (formerly Looker Studio)
Cost to startxmetricFree in your browser. No account needed to open a file.Saving a workbook online and sharing a link need a free account.Source · checked October 20MetabaseFree self-hosted edition, unlimited usersYou host it yourself (Java JAR or Docker); no Metabase-managed hosting on the free plan.Source · checked October 17Data Studio (formerly Looker Studio)Data Studio (formerly Looker Studio) self-service tier, no charge.Web-only. Pro features (team workspaces, Google Cloud support, CMEK) cost extra; some partner connectors are paid.Source · checked October 17
Where your data goesxmetricIn your browser. Files are not uploaded.Source · checked October 17MetabaseCloud: Metabase-managed app database on AWS RDS, region chosen by customer (US, EU, LatAm, APAC). Self-hosted: your own infrastructure.Source · checked October 17Data Studio (formerly Looker Studio)Live connections leave data in the source (cached temporarily); extracts and uploaded CSVs are stored by Google (Cloud Storage).Source · checked October 17
Opens Tableau .twbx filesxmetricOpens .twbx and .twb in the browser app with dashboards, quick filters and filter actions working, plus sheets, data sources, formulas and packaged extracts.Source · checked October 20MetabaseNot listed in the vendor's docs; official drivers cover SQL databases/warehouses (Postgres, MySQL, BigQuery, Snowflake...) plus CSV uploadSource · checked October 17Data Studio (formerly Looker Studio)Not listed in the vendor's docs. File connectors listed: Google Sheets, Microsoft Excel, Upload CSV files, Extract data.Source · checked October 17
Try it: the cohort question a founder actually asks
Here's a year of a small candle shop's orders, opened in xmetric on this page. Customers who first bought in Q1 are 29.2% of all customers, yet they bring 50.2% of December's revenue. The holiday newcomers bring 45%. That's the case for the Club, and you'd miss it on a revenue-by-month chart.
A small candle maker selling on its web shop, Etsy and a weekend market. In January it launched the Wick & Ember Club, a monthly candle box.
order_id
order_date
customer_id
channel
product
revenue
W00001
2025-01-01
K0030
Market stall
Wick & Ember Club box
32
W00002
2025-01-02
K0003
Etsy
Wick & Ember Club box
32
W00003
2025-01-02
K0006
Web shop
Single candle
24
W00004
2025-01-02
K0012
Web shop
Wick & Ember Club box
32
1
Step 1
Revenue by month
December is the record month. The easy story is a holiday rush of new shoppers.
Point at a bar to read it.
Tableau
SUM([revenue])
//MONTH([order_date])onColumns
SQL
SELECTmonth(order_date) AS month, SUM(revenue) AS revenue
FROM input
GROUPBY month
ORDERBY month
Rows
Month
Revenue
$1
$1,056
$2
$2,162
$3
$2,538
$4
$2,778
$5
$2,876
$6
$2,388
$7
$2,304
$8
$2,326
$9
$2,338
$10
$2,936
$11
$4,294
$12
$6,364
2
Step 2
Customers by the quarter they first bought
The FIXED expression gives every order its customer's first quarter, so it survives any filter on the view. The biggest group arrived in Q4, the holiday season.
WITH f AS (
SELECT customer_id,
'Q'||quarter(MIN(order_date)) AS first_quarter
FROM input
GROUPBY customer_id
)
SELECT first_quarter,
COUNT(*) AS customers,
COUNT(*) /SUM(COUNT(*)) OVER () AS share_of_customers
FROM f
GROUPBY first_quarter
ORDERBY first_quarter
Rows
First quarter
Customers
Share of customers
Q1
122
29.2%
Q2
66
15.8%
Q3
64
15.3%
Q4
166
39.7%
3
Step 3
This month's revenue by first-purchase quarter
Customers who first bought in Q1, many of them Club members, bring half of December. The holiday shoppers bring less than you'd think. Slide back through the year to watch the Q1 share.
WITH f AS (
SELECT customer_id,
'Q'||quarter(MIN(order_date)) AS first_quarter
FROM input
GROUPBY customer_id
)
SELECT first_quarter,
SUM(revenue) AS revenue,
SUM(revenue) /SUM(SUM(revenue)) OVER () AS share
FROM input JOIN f USING (customer_id)
WHEREmonth(order_date) =12GROUPBY first_quarter
ORDERBY first_quarter
Rows
First quarter
Revenue
Share
Q1
319200%
50.2%
Q2
8800%
1.4%
Q3
22000%
3.5%
Q4
286400%
45%
In xmetric it's one FIXED expression for each customer's first quarter, then a percent of total, and it all runs in your browser.
Common mistake
Taking the first quarter inside the view instead of per customer
A plain MIN respects the filter, so once you filter to December every customer looks like a Q4 newcomer and the Club disappears. A FIXED expression ignores dimension filters and finds the real first order.
WITH f AS (
SELECT customer_id,
'Q'||quarter(MIN(order_date)) AS first_quarter
FROM input
GROUPBY customer_id
)
SELECTDISTINCT i.customer_id, f.first_quarter
FROM input i JOIN f USING (customer_id)
WHEREmonth(i.order_date) =12ORDERBY i.customer_id
Run it on your own file
Drop your own order export (one row per order, with a customer ID, a date and revenue) and the same steps run on it, in your browser. Nothing is uploaded.
Drop a CSV anywhere on this page
Up to 10,000 rows. The sample, orders.csv, shows the shape.
When Metabase or Data Studio is the better choice
If this is you
Shopify, Stripe or HubSpot exports, and questions that change every week
xmetric
No setup, no seats; drop the file and build on shelves.
If this is you
A production Postgres or MySQL database the team wants to query live
Metabase
Free if you host it yourself; Metabase Cloud Starter is $100/mo monthly or $90/mo billed yearly ($1,080/year); first 5 users included; +$6 per user/month ($65 per user/year).
If this is you
Marketing on Google Ads, GA4, Search Console and Sheets
Data Studio
Free, with Google's connectors (Analytics, Ads, Search Console) built in; Pro is $9 per user per project per month.
Questions
Can we use xmetric alongside Metabase or Data Studio?
Yes, and many teams should. Keep Data Studio on your Google Ads reporting or Metabase on your live database, and use xmetric for exports, one-off questions and any .twbx a contractor sends you.
Does Data Studio open .twbx or Parquet files?
File connectors listed: Upload CSV files, Microsoft Excel and Extract data, alongside Google Sheets. Parquet is not listed. Tableau workbooks aren't among them. xmetric opens .twbx and .twb workbooks and imports CSV, Excel and Parquet.
Does xmetric connect live to Postgres or BigQuery?
Not yet; live database connections are coming. Today it works on files and workbooks.
How do I answer 'how much of this month came from customers who first bought in Q1' in each tool?
In xmetric, it takes one FIXED expression for each customer's first quarter, then a percent of total; the demo on this page builds it step by step.