No data yet
Upload an Excel or CSV file with your sales records to generate a waterfall analysis.
Accepts .xlsx · .xls · .csvUpload an Excel or CSV file with your sales records to generate a waterfall analysis.
Accepts .xlsx · .xls · .csvA self-contained, browser-based revenue bridge analyser. Upload any Excel or CSV sales file and instantly decompose the change in spend between two periods into its Price, Volume, Mix, New & Lost item components — with zero backend, zero dependencies beyond the XLSX parser.
Click Upload Data in the top-right corner and select a file. Accepted formats:
| Format | Extension | Notes |
|---|---|---|
| Excel Workbook | .xlsx | First sheet is used; dates are parsed automatically from Excel serials |
| Legacy Excel | .xls | Fully supported via the XLSX library |
| Comma-Separated | .csv | UTF-8 or ANSI; commas or semicolons as decimal separators are normalised |
After the preview, click Map Columns → to proceed to column mapping.
Assign each column in your file to its role. Four fields are required, the rest are optional.
| Field | Required | Description |
|---|---|---|
| Date | Transaction or period date. Accepts Date objects, Excel serials, or any ISO-parseable string. | |
| Price (unit) | Unit price per row. Used to compute VWAP per item per period. | |
| Volume (qty) | Quantity sold per row. Combined with price to derive spend. | |
| Item / Product | The product or SKU identifier. Drives per-item decomposition. | |
| Segments 1–5 | — | Optional dimension columns (e.g. Category, Region, Channel). If the name field is left blank, the column header is used automatically. |
The waterfall decomposes the change in total spend between two periods into four additive effects. Each bar is green for growth or red for decline. The two anchor bars (Spend n and Spend n+1) are shown in blue.
| Bar | Meaning |
|---|---|
| Spend n | Total revenue in the base period, anchored at zero. |
| Price Effect | Revenue change driven purely by unit price movement, holding volume at period n levels. |
| Volume Effect | Revenue change driven by volume change, holding price at period n levels. |
| Mix Effect | The interaction term: combined impact of simultaneous price and volume moves (ΔP × ΔV). |
| New Items | Revenue from products that appear in n+1 but not in n. |
| Lost Items | Revenue lost from products present in n but absent in n+1 (shown as negative). |
| Spend n+1 | Total revenue in the compare period. Always equals the sum of all preceding bars. |
Hover any bar to see its value and share of Spend n. Click any bar to open the drill-down detail table for that effect.
The seven cards at the top mirror the waterfall bars. Each bridge card shows the effect value and its percentage of Spend n as a sub-line with a directional arrow. The Spend n+1 card shows total delta vs Spend n.
| Control | What it does |
|---|---|
| Date Aggregation | Groups rows into periods. Change this to switch the bridge between yearly, quarterly, monthly, weekly or daily comparisons. |
| Period n / n+1 | Selects the base and compare periods. Dropdowns are sorted chronologically regardless of label format. |
| Segment by | Chooses which mapped dimension (Category, Region, Channel…) populates the filter values list below it. |
| Filter values | Multi-select list. Hold Ctrl / Cmd to select multiple values. The bridge and all charts update to show only matching rows. Empty = all. |
| Item filter | Filters to specific products or SKUs, independent of the segment filter. Combine both for highly granular slices. |
| Analysis scope | Toggle to exclude New & Lost items from the bridge. Useful when you want to isolate the price/volume/mix effects on the continuing assortment only. |
| Display | Switch all chart values between Absolute (currency) and % of Spend n. |
Sales over Time (left) shows total spend for every period at the current aggregation level. The two selected periods (n and n+1) are highlighted in blue; all others are grey. Hover any bar for the period label and spend value.
Category Split (right) shows a donut chart of spend broken down by whichever dimension is currently selected in the Segment by dropdown. If no segment is selected it falls back to the first mapped segment, then to item level. Up to 8 slices are shown; the remainder are grouped as "Other". The centre label shows total spend across the filtered dataset.
Click any bar in the waterfall to open the drill-down modal for that effect. The table shows one row per product contributing to that bar, with full price and volume data for both periods.
| Column | Description |
|---|---|
| Item / Product | The product identifier from your data. |
| Price n / n+1 | Volume-weighted average price (VWAP) per item per period. |
| Vol n / n+1 | Total volume sold per item per period. |
| Effect | This item's contribution to the selected bridge bar (e.g. its individual price effect). |
| % of Spend n | Effect as a share of total base-period spend. |
| Mini bar | Proportional inline bar showing relative contribution within the set. |
Click any column header to sort ascending or descending. Click the same header again to flip direction. The sort is live and does not re-query data.
Two groups of chips at the bottom of the sidebar set the aggregation and both period selectors in one click.
| Preset | Aggregation | Sets n → n+1 |
|---|---|---|
| YoY | Year | Previous year → latest year |
| QoQ | Quarter | Previous quarter → latest quarter |
| MoM | Month | Previous month → latest month |
| WoW | Week | Previous week → latest week |
| DoD | Day | Yesterday → latest day |
| YTD | Month | Same month last year → latest month |
| HTD | Month | 6 months prior → latest month |
| QTD | Month | 3 months prior → latest month |
| MTD | Week | Same week last month → latest week |
| WTD | Day | Same day last week → latest day |
Click Print in the top-right to generate a print-ready view. The interface switches to a light theme, all three charts are redrawn with inverted colours, and the browser print dialog opens. Choose Save as PDF in the dialog to export a document.
For each item i that exists in both periods: