# Build a Pareto cumulative percentage table

Sort label/value rows and add percent of total, cumulative sum, cumulative percent, running count, vital-few labels, and a text Pareto chart.

## Run it

- **CLI:** `gizza tool cumulative-percent-builder "issue,count
Scratches,400
Dents,250
Misalignment,150
Packaging,120
Other,80"`
- **Web:** https://gizza.ai/tools/cumulative-percent-builder/
- **Agents:** machine-readable descriptor (parameters JSON Schema) at https://gizza.ai/tools/cumulative-percent-builder/tool.json

## Inputs

- `data` — Rows (label,value) _(field)_
- `delimiter` — Delimiter _(field)_
- `header` — Header row _(field)_
- `sort` — Sort _(field)_
- `threshold` — Vital-few threshold (%) _(field)_
- `top_n` — Top N before Other bucket (0 = off) _(field)_
- `decimals` — Decimal places _(field)_
- `output` — Output format _(field)_

## Output

- Cumulative percent table (text)

## Query parameters

Open the tool pre-filled and auto-run via URL:

- `data` — Rows (label,value)
- `delimiter` — Delimiter
- `header` — Header row
- `sort` — Sort
- `threshold` — Vital-few threshold (%)
- `top_n` — Top N before Other bucket (0 = off)
- `decimals` — Decimal places
- `output` — Output format

Example: `https://gizza.ai/tools/cumulative-percent-builder/?data=issue%2Ccount%0AScratches%2C400%0ADents%2C250%0AMisalignment%2C150%0APackaging%2C120%0AOther%2C80&delimiter=auto&header=auto&sort=desc&threshold=80&top_n=0&decimals=1&output=table`

---

## About this tool

Cumulative Percent Builder turns a plain list of categories and values into a Pareto-ready table. Paste rows such as `issue,count`, choose whether to sort descending or keep the input order, and the tool adds percent of total, cumulative count, cumulative sum, cumulative percentage, and a vital/trivial label based on your threshold.

The default workflow matches the common 80/20 analysis: sort the largest values first, compute the running total, and mark every row through the first row that crosses 80% as the vital few. You can change the threshold, bucket the long tail into an `Other` row, and export the result as aligned text, CSV, or Markdown.

Worked example:

```text
issue,count
Scratches,400
Dents,250
Misalignment,150
Packaging,120
Other,80
```

With an 80% threshold, the top three rows account for 800 of 1000 total units, so they are marked vital and the remaining rows are marked trivial. The text output also includes a deterministic fixed-width Pareto chart for quick visual scanning.

Limits and conventions: values must be finite, non-negative numbers and the total must be greater than zero. The maximum paste is 10000 rows. Auto delimiter detection checks comma, tab, semicolon, and pipe before falling back to whitespace. Tail bucketing is opt-in because automatic Other rows can hide a high-impact category.

## FAQ

<details>
<summary>What does the vital-few label mean?</summary>

Rows are marked `vital` until the cumulative percentage first reaches or exceeds the threshold. With the default 80% threshold, the vital-few count is the number of largest categories needed to cover about 80% of the total.

</details>

<details>
<summary>Should I sort descending?</summary>

For Pareto analysis, yes. Descending sort ranks the largest contributors first before the cumulative percentage is computed. Keep input order only when your rows are already in a meaningful sequence and you want a running percentage through that sequence.

</details>

<details>
<summary>When should I use the Top N / Other option?</summary>

Use it when many tiny categories make the table hard to read and you deliberately want to combine the tail. Leave it at `0` when every original category should stay visible.

</details>

<details>
<summary>Can I paste spreadsheet data?</summary>

Yes. Copy two columns from a spreadsheet and leave delimiter on Auto, or explicitly choose Tab. Currency symbols, thousands separators, and underscore digit separators are tolerated in the value column.

</details>

## Related tools

- [Cumulative Sum Calculator](https://gizza.ai/tools/cumulative-sum/): Get the running total (prefix sum) of a list of numbers in your browser, with optional running average, min, and max at each step. Free, private, no sign-up.
- [Bitwise Calculator](https://gizza.ai/tools/bitwise-calculator/): Bitwise calculator: AND, OR, XOR, NOT, shifts, rotates and popcount on 8–64-bit integers in binary, hex, octal or decimal. Free, private, in your browser.
- [Bollinger Bands calculator](https://gizza.ai/tools/bollinger-bands/): Compute Bollinger Bands (SMA plus/minus standard deviations) for a price series, plus %B and bandwidth, in your browser. Free, private, no upload.
- [Boxplot Chart Generator](https://gizza.ai/tools/boxplot-chart/): Paste values or grouped CSV data and render a box-and-whisker SVG with quartiles, whiskers, mean markers, notches, outliers, and summary stats.
- [CAGR Calculator](https://gizza.ai/tools/cagr-calculator/): Paste a series of values and get the compound annual growth rate, total growth, the multiple, doubling time and a period-by-period growth table.
