Run returns-pareto in your browser
Runs fully in your browser, files never leave your device.
Drag and drop your orders and returns CSV files here, or use the pickers below.
Report
What it does
Pareto tables by SKU, by reason, by SKU and reason combined, and by region, each with counts, refund amounts, share and cumulative share
Free-text return reasons normalised into buckets (sizing, damaged, wrong item, changed mind, late delivery, quality, other) with an editable keyword map
A repeat returner table built from hashed customer ids, so no real customer data is needed
A double-refund flag list: orders that carry both a normal return row and a chargeback marker row
Outputs report.md and pareto.csv, fully offline on plain CSV exports
Install and usage
Requires Node.js 20 or later. There are no dependencies to install.
git clone https://github.com/aamirtechs/returns-pareto.git
cd returns-pareto
node src/cli.js --orders examples/orders.csv --returns examples/returns.csv --out-dir out
Pass --reason-map to use your own keyword map tuned to your store language. Customer columns accept a customer id or a hashed email column: hash identifiers first, as the examples do, and never put real customer emails into a shared report.