Kettle & Haven / toolslocal workbench · beta

APPAREL RETURN DIAGNOSTIC

Find the return pattern a raw count can hide.

Load one supported sales-events CSV and one supported return-events CSV. This workbench compares ordinary returned-unit counts with exact 90-day SKU cohort rates, while keeping refunds, handling costs and recoveries separate.

Your files stay in this browser. Uploaded bytes are not sent to a server, logged, attached to analytics, or fetched from another service. Original inputs appear only in the ZIP you explicitly download.
01

Set the cohort window

The interval is inclusive at start and exclusive at end: [start, end). Version 1 requires exactly 90 days and USD.

02

Choose the two canonical CSVs

Canonical columns and limits

sales.csv

event_id,order_id,line_id,sku,occurred_at,currency,quantity,gross_amount,unit_cost,reversal_of

returns.csv

event_id,return_id,order_id,line_id,sku,occurred_at,currency,quantity,refund_amount,reason,handling_cost,recovery_amount,reversal_of

UTF-8 CSV; 2 MiB per file; 2,000 combined events; 100 cohort SKUs; 40,000 combined cells; 4,096 bytes per cell. This is a documented format—not a claim that arbitrary Shopify exports work.

Choose both files and an interval.

What this does not claim

It does not read a store account, infer missing sales, identify profit loss, promise savings, or assert what a merchant’s native report contains. Out-of-cohort and orphan returns are visibly excluded instead of being assigned an invented denominator. Low samples are marked. The comparison here is strictly between ordinary aggregate counts and the computed SKU/reason/cohort views.