Sales KPI calculator from a CSV
Drop an orders export and get the numbers small shops usually work out by hand in a spreadsheet: monthly revenue, number of orders, average order value (AOV), new vs returning customers and repeat customer rate. Works with Shopify order exports, Square transactions, or any sheet saved as CSV with a date and an amount.
Private by design: your file is read on your own computer and never uploaded (customer emails included). A browser security policy blocks the page from sending data anywhere except Cloudflare's cookieless page-view counter, which only counts visits. Privacy note.
No file to hand? (fictional shop, 148 orders; download it).
Columns used
Picked automatically; change them if they're wrong.
Headline KPIs
By month
Definitions (so you can check the maths)
- Revenue: the sum of the value column, across orders with a readable date and amount. It doesn't subtract refunds or fees unless your chosen column already does (e.g. Square's
Net Salesis after discounts). - Orders: unique order IDs if you pick an ID column, otherwise one row = one order. Shopify puts extra line items on extra rows with a blank
Total, so pickingNameas the ID stops double-counting. - Average order value (AOV) = revenue ÷ orders.
- Repeat customer rate = customers with 2 or more orders in the file ÷ all customers in the file. It depends on the period covered: a longer export gives a higher rate.
- Returning customers in a month: customers who ordered that month and whose first order in the file was in an earlier month. New: first order in the file was that month. The first month is always 100% new because the file has no earlier history.
- Growth: revenue change on the previous month in the file.
Related guides: Shopify or Square CSV export to a monthly sales chart (which columns to export) and how to chart a CSV without uploading it. For a chart of any column, use the CSV chart previewer.
Want these KPIs every month without redoing this?
The SME KPI Scorecard ($24) tracks monthly targets against actuals with green/amber/red status. The Offline KPI Dashboard ($29) turns any CSV export into a private dashboard you keep. Both are paid products on Contra, built with AI assistance.
I'm the maker, Chris Elder (London). This calculator stays free whether or not you buy anything.
FAQ
How do I calculate average order value from a Shopify export?
Export orders as CSV, then divide the sum of Total by the number of unique order Names (like #1001). Extra line-item rows have a blank Total, so they don't add revenue, but they would inflate a simple row count. Here, pick Name as the order ID.
How is repeat customer rate calculated?
Customers who placed 2 or more orders ÷ all customers, over the same period. Use a stable identifier such as email or customer ID. Guest checkouts with different emails count as different customers, so the true rate may be a bit higher.
Does it work with Square?
Yes, with the transactions CSV from Square Dashboard. Use Date, Net Sales and Transaction ID. Square's transactions export doesn't always include a customer column, so repeat rate may not be available.
Is my customer data uploaded?
No. The file is read in this browser tab. Close the tab and it's gone.