Is there a ChatGPT data analysis alternative that doesn't upload my file?
Yes. xmetric reads your CSV, Excel, Parquet or .twbx file inside your browser tab, so confidential numbers never go to a chat server, and every metric is a formula you can read and check instead of code you have to trust. Keep using an AI chat for files that aren't sensitive and questions you want answered in words; use Julius if you want chat-driven analysis and the file can go to its cloud.
Updated
Our pick
xmetric
The file stays in your browser, so a customer revenue export never reaches a chat server. Metrics are formulas you can audit (FIXED expressions, running totals), and you slice by dragging instead of re-prompting.
Pick something else if
The data isn't sensitive and you want a summary in words (any AI chat), you want chat-driven Python and accept a cloud workspace (Julius), or your team works in SQL and Python on a warehouse (Hex).
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 pickJuliusHexTableau Desktop
Where your file is processedxmetricIn your browser. Files are not uploaded.Source · checked October 17JuliusFiles are analyzed in Julius's cloud workspace; plans list server RAM and file storage.Source · checked October 17HexHex's cloud on AWS (file uploads and cached query results stored there, encrypted at rest)Source · checked October 17Tableau DesktopTableau Cloud: hosted and managed by Tableau. Tableau Server: managed by the customer. Desktop/Reader: local files.Source · checked October 17
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 20JuliusA free plan to start.Free plan limits are not listed on the pricing page.Source · checked October 17HexCommunity plan: freeSmall compute, Hex agent trial only, limited to 5 projects (learn.hex.tech). No user cap stated on the pricing page.Source · checked October 17Tableau DesktopTableau Desktop Free Edition, Tableau Public and Tableau Reader are free.Free Edition can't publish, share online, or share packaged workbooks with others. Anything on Tableau Public is public.Source · checked October 17
Runs onxmetricAny modern browser on Mac, Windows or Linux. Nothing to install.Source · checked October 17JuliusBrowser-based cloud workspace.Source · checked October 17HexBrowser SaaS on Hex's AWS cloud (multi-tenant, EU multi-tenant); single-tenant as an Enterprise add-onSource · checked October 17Tableau DesktopTableau Desktop on Windows or Mac; Tableau Cloud hosted by Tableau, or Tableau Server managed by the customer.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 20JuliusNot verified yetWhere we looked · October 17HexNot listed in the vendor's docs; data connections list SQL databases/warehouses (Postgres, Snowflake, BigQuery, Databricks...)Source · checked October 17Tableau DesktopYes, native format. Opens in Tableau Desktop or Tableau Reader.Source · checked October 17
Try it: the retention question, without uploading anything
Here are two years of a small software company's subscription revenue, opened in xmetric on this page. MRR grew 26.8% in 2025, which is what a quick chart says. But the customers who were paying $17,640 a year earlier now pay only 88.7% of that. The growth came from 35 new customers worth $6,719 a month.
Did existing customers grow, or did sales hide a leak?
Computed by the xmetric engine
The data
Ledgerline monthly recurring revenue, 2024 to 2025
A small invoicing app for trades and clinics: one row per paying customer per month, with plan and MRR. Sales had a great 2025.
customer_id
company
plan
month
mrr
C0001
Willow Realty
Team
2024-01-01
447
C0002
Kestrel Clinic
Starter
2024-01-01
49
C0003
Maple Roofing
Team
2024-01-01
149
C0004
Lumen Media
Starter
2024-01-01
49
1
Step 1
MRR by month
Recurring revenue ended 2025 far above where it started, summer dip and all. Ask a chat whether the business is healthy and this line is the answer you get.
Point at the line to read it.
Tableau
SUM([mrr])
//MONTH([month])onColumns
SQL
SELECT month, SUM(mrr) AS mrr
FROM input
GROUPBY month
ORDERBY month
Rows
Month
MRR
Jan 1, 2024
$15,304
Feb 1, 2024
$15,863
Mar 1, 2024
$16,085
Apr 1, 2024
$16,781
May 1, 2024
$16,923
Jun 1, 2024
$17,307
Jul 1, 2024
$17,521
Aug 1, 2024
$17,423
Sep 1, 2024
$17,048
Oct 1, 2024
$16,848
Nov 1, 2024
$17,170
Dec 1, 2024
$17,640
Jan 1, 2025
$18,398
Feb 1, 2025
$18,806
Mar 1, 2025
$19,814
Apr 1, 2025
$20,749
May 1, 2025
$21,394
Jun 1, 2025
$21,384
Jul 1, 2025
$20,113
Aug 1, 2025
$19,879
Sep 1, 2025
$20,114
Oct 1, 2025
$20,347
Nov 1, 2025
$20,931
Dec 1, 2025
$22,359
2
Step 2
December 2025 MRR: old customers vs new
The FIXED expression finds each customer's first month, whatever the view is filtered to. Split December by it and nearly a third of the revenue turns out to be brand new.
Point at a bar to read it.
Tableau
IF { FIXED [customer_id] : MIN([month]) } < #2025-01-01# THEN"Customers from before 2025"ELSE"New in 2025"END
SQL
WITH f AS (
SELECT customer_id, MIN(month) AS first_month
FROM input
GROUPBY customer_id
)
SELECTCASEWHEN first_month < DATE '2025-01-01'THEN'Customers from before 2025'ELSE'New in 2025'ENDAS segment,
SUM(mrr) AS mrr,
COUNT(*) AS customers
FROM input JOIN f USING (customer_id)
WHERE month = DATE '2025-12-01'GROUPBY segment
ORDERBY segment
Rows
Segment
MRR
Customers
Customers from before 2025
$15,640
$63
New in 2025
$6,719
$35
3
Step 3
Net revenue retention
Take only the customers who paid in December 2024 and compare what they pay now. They shrank: churn and downgrades outran upgrades. Sales filled the hole and then some.
WITH c AS (
SELECT customer_id,
SUM(mrr) FILTER (WHERE month = DATE '2024-12-01') AS dec_2024,
SUM(mrr) FILTER (WHERE month = DATE '2025-12-01') AS dec_2025
FROM input
GROUPBY customer_id
)
SELECTSUM(dec_2024) AS base_mrr,
SUM(COALESCE(dec_2025, 0)) FILTER (WHERE dec_2024 >0) AS same_customers_now,
SUM(COALESCE(dec_2025, 0)) FILTER (WHERE dec_2024 >0)
/SUM(dec_2024) AS nrr
FROM c
Rows
Dec 2024
Same customers now
Dec 2024
1764000%
1564000%
88.7%
Common mistake
Counting new customers in retention
This year's total over last year's total is growth, not retention: it gives 127% here and says customers are expanding. Restrict the numerator to last year's customers and it's 89%. It's the quiet mistake a hurried script makes, and the chart still looks right.
WITH c AS (
SELECT customer_id,
SUM(mrr) FILTER (WHERE month = DATE '2024-12-01') AS dec_2024,
SUM(mrr) FILTER (WHERE month = DATE '2025-12-01') AS dec_2025
FROM input
GROUPBY customer_id
)
SELECTSUM(COALESCE(dec_2025, 0)) FILTER (WHERE dec_2024 >0)
/SUM(dec_2024) AS nrr
FROM c
Run it on your own file
Drop your own subscription export (one row per customer per month, with an MRR column) 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, mrr.csv, shows the shape.
When an AI chat or another tool is the better choice
If this is you
Customer revenue, payroll or anything under an NDA, analyzed on your laptop
xmetric
Nothing is uploaded, and each metric is a formula a colleague can check.
If this is you
A public or harmless file and a quick question in plain words
An AI chat
Fast for a summary or a one-off chart. Check the numbers before you forward them.
If this is you
You want to talk to your data and the file may live in a cloud workspace
Julius
Files are analyzed in Julius's cloud workspace; plans list server RAM and file storage. Plus is $20 per month billed monthly, or $16 per month billed annually.
If this is you
You want an installed app and work alone
Tableau Desktop
Tableau Desktop Free Edition: full Desktop analytics for one person, stored locally; no publishing, online sharing or sharing packaged workbooks.
Questions
Can I clean a file with an AI chat and then analyze it in xmetric?
Yes, if the file isn't sensitive. Load the cleaned CSV into xmetric and build the analysis there, where each number is a formula you can inspect.
Why trust a formula over AI-written Python?
A chat writes new code for every prompt, and small changes in wording can change how it treats churned customers, nulls or date boundaries. The chart looks plausible either way. A calculated field is written once, is visible, and gives the same answer every time.
Does xmetric have an AI assistant?
Every action in the app is a command, so agents can drive it. An MCP server, a ChatGPT app and a Claude connector are in development.
What is net revenue retention?
This year's recurring revenue from the customers you had a year ago, divided by what those same customers paid then. New customers don't count. Above 100% means existing customers grow on their own; below means they shrink.