Buyer’s guide Sourced and dated

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
How you run itxmetricAny modern browser on Mac, Windows or Linux. Nothing to install.Source · checked October 17MetabaseMetabase Cloud (managed) or self-hosted via Java JAR or DockerSource · checked October 17Data Studio (formerly Looker Studio)Browser-based cloud service only (no desktop app).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.

112
Point at the line to read it.
1Q150.2%2Q445%3Q33.5%4Q21.4%

Who really pays for December?

Computed by the xmetric engine

The data

Wick & Ember online orders, 2025

Synthetic dataorders.csv

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_idorder_datecustomer_idchannelproductrevenue
W000012025-01-01K0030Market stallWick & Ember Club box32
W000022025-01-02K0003EtsyWick & Ember Club box32
W000032025-01-02K0006Web shopSingle candle24
W000042025-01-02K0012Web shopWick & Ember Club box32

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.
$0$2K$4K$6K123456789101112

Tableau

SUM([revenue])
// MONTH([order_date]) on Columns

SQL

SELECT month(order_date) AS month, SUM(revenue) AS revenue
FROM input
GROUP BY month
ORDER BY month

Rows

MonthRevenue
$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

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.

Point at a bar to read it.
050100150Q1Q2Q3Q4

Tableau

{ FIXED [customer_id] : MIN(DATETRUNC('quarter', [order_date])) }
// COUNTD([customer_id]) by it

SQL

WITH f AS (
  SELECT
    customer_id,
    'Q' || quarter(MIN(order_date)) AS first_quarter
  FROM input
  GROUP BY customer_id
)
SELECT
  first_quarter,
  COUNT(*) AS customers,
  COUNT(*) / SUM(COUNT(*)) OVER () AS share_of_customers
FROM f
GROUP BY first_quarter
ORDER BY first_quarter

Rows

First quarterCustomersShare of customers
Q112229.2%
Q26615.8%
Q36415.3%
Q416639.7%

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.

Point at a bar to read it.
0%25%50%75%100%Q1Q2Q3Q4

Tableau

SUM([revenue]) / TOTAL(SUM([revenue]))
// filter MONTH([order_date]) to the knob; Compute Using: first quarter

SQL

WITH f AS (
  SELECT
    customer_id,
    'Q' || quarter(MIN(order_date)) AS first_quarter
  FROM input
  GROUP BY customer_id
)
SELECT
  first_quarter,
  SUM(revenue) AS revenue,
  SUM(revenue) / SUM(SUM(revenue)) OVER () AS share
FROM input JOIN f USING (customer_id)
WHERE month(order_date) = 12
GROUP BY first_quarter
ORDER BY first_quarter

Rows

First quarterRevenueShare
Q1319200%50.2%
Q28800%1.4%
Q322000%3.5%
Q4286400%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.

WrongStarts with K0002, K0003, K0005…

Tableau

MIN(DATETRUNC('quarter', [order_date]))
// with MONTH = 12 filtered, every customer's first order is in December

SQL

SELECT
  customer_id,
  'Q' || quarter(MIN(order_date)) AS first_quarter
FROM input
WHERE month(order_date) = 12
GROUP BY customer_id
ORDER BY customer_id
RightStarts with K0002, K0003, K0005…

Tableau

{ FIXED [customer_id] : MIN(DATETRUNC('quarter', [order_date])) }
// FIXED is computed before dimension filters

SQL

WITH f AS (
  SELECT
    customer_id,
    'Q' || quarter(MIN(order_date)) AS first_quarter
  FROM input
  GROUP BY customer_id
)
SELECT DISTINCT i.customer_id, f.first_quarter
FROM input i JOIN f USING (customer_id)
WHERE month(i.order_date) = 12
ORDER BY 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.

Sources