A four-state quantile dot plot that turns a predictive distribution into countable outcomes — N equal-probability dots stacked into non-overlapping columns, an optional threshold that splits them, and the share on each side reported as a number you can verify by counting.
Preview in your theme
Loading preview…
This component is part of Pro
The install command, prompt and concept map are included with a Pro license — one purchase unlocks every Pro component, forever.
status="ready" · 480 Monte-Carlo schedule runs discretised into 20 equally likely deliveries, one dot each. The median lands at 12.5 days, which sounds safe — and exactly 5 of the 20 dots fall on or before the promised date, a 25% chance you can count with a finger instead of estimating off a curve. Hover a column, or tab into the chart and use the arrow keys; click or press Enter to pin one and watch onColumnSelect fire below.
When will the beta ship?
20 equally likely deliveries · one dot = 5% · median 12.47 days · range 6.8 to 22.7 days
5 in 20 deliveries fall at or below 10 days (promised date) — 25%.
When will the beta ship?. A predictive distribution drawn as 20 equally likely deliveries, one dot each, stacked into 13 columns along the value axis. one dot = 1 in 20 (5%). Median 12.47 days, spanning 6.8 to 22.7 days. 5 in 20 deliveries fall at or below 10 days, 25% of the dots; the other 15 fall above it. The distribution itself puts that chance at 24% — the dot grid resolves to 5% per dot. Every column is listed in the table that follows. Left and right arrows walk the columns, Home and End jump to the first and last.
at or below 10 days · 5
above it · 15
one dot = 1 in 20 (5%)
Point at a column, or tab into the chart and use the arrow keys, to read what it covers. Click or press Enter to pin one; Escape releases it.
Each dot is one of 20 equally likely deliveries: the dots sit at the 2.5%, 7.5% … 97.5% quantiles of the forecast, so counting them reads probability straight off the card.
The grid resolves to 5% per dot; the distribution itself puts this chance at 24%, which is why the dots say 25%. Raise dotCount for a finer grid — it cannot make the forecast sharper than it is.
When will the beta ship? — one row per column of dots. Every dot is one of 20 equally likely deliveries, so a column's dot count is its probability and the running total is the cumulative probability up to that column. A column stands at the centre of the dot-wide slice its dots fall in; the slice it covers is printed, so no position is implied that the data does not support.
Column
Values
deliveries
Share
Cumulative
at or below
1
6.8 days
1
5%
1 · 5%
1
2
7.8 days
1
5%
2 · 10%
1
3
8.9 days
1
5%
3 · 15%
1
4
9.3 days – 9.88 days
2
10%
5 · 25%
2
5
10.3 days – 11.1 days
3
15%
8 · 40%
0
6
11.7 days – 12.1 days
2
10%
10 · 50%
0
7
12.85 days – 13.44 days
2
10%
12 · 60%
0
8
13.9 days – 14.6 days
2
10%
14 · 70%
0
9
15.2 days – 15.9 days
2
10%
16 · 80%
0
10
17 days
1
5%
17 · 85%
0
11
18.51 days
1
5%
18 · 90%
0
12
20.3 days
1
5%
19 · 95%
0
13
22.7 days
1
5%
20 · 100%
0
onColumnSelect → nothing pinned
status="empty" · a valid contract carrying no distribution at all, told apart from loading and from a failed fetch. A single point estimate lands here too: there is nothing to discretise.
When will the beta ship?
Every dot is one equally likely delivery — count them, don't read a curve
No distribution to count yet
This card needs the shape of the forecast — a quantile grid or raw draws. A single point estimate has nothing to discretise into countable deliveries.
status="loading" · a skeleton in the hump shape the real card draws, aria-hidden, honouring prefers-reduced-motion, with no timer involved.
When will the beta ship?
Every dot is one equally likely delivery — count them, don't read a curve
Loading the predictive distribution
status="error" · the fetch failed. Try again only appears when onRetry is passed, and clicking it flips the card to ready.
When will the beta ship?
Every dot is one equally likely delivery — count them, don't read a curve
Couldn't load this forecast
The data source didn't respond.
Five percentiles in, twenty dots out · the metrics API returns p5 186 ms through p95 764 ms and nothing else. The card builds a quantile function from those five knots and reads 20 equally likely requests off it — 16 inside the 500 ms SLO. It also says two things out loud rather than hiding them: the grid stops at p5/p95 while 20 dots ask for p2.5/p97.5, so the outermost dots are clamped rather than extrapolated into a tail nobody measured; and the grid's 5%-per-dot resolution rounds the SLO's true 79.1% up to the 80% the dots show.
Checkout latency, next hour
20 equally likely requests · one dot = 5% · median 314.5 ms · range 186 to 764 ms
16 in 20 requests fall at or below 500 ms (500 ms SLO) — 80%.
Checkout latency, next hour. A predictive distribution drawn as 20 equally likely requests, one dot each, stacked into 11 columns along the value axis. one dot = 1 in 20 (5%). Median 314.5 ms, spanning 186 to 764 ms. 16 in 20 requests fall at or below 500 ms, 80% of the dots; the other 4 fall above it. The distribution itself puts that chance at 79.1% — the dot grid resolves to 5% per dot. The supplied quantile grid does not reach the outermost dots, so those tails are clamped to the endpoints that were given rather than extrapolated. Every column is listed in the table that follows. Left and right arrows walk the columns, Home and End jump to the first and last.
at or below 500 ms · 16
above it · 4
one dot = 1 in 20 (5%)
Point at a column, or tab into the chart and use the arrow keys, to read what it covers. Click or press Enter to pin one; Escape releases it.
Each dot is one of 20 equally likely requests: the dots sit at the 2.5%, 7.5% … 97.5% quantiles of the forecast, so counting them reads probability straight off the card.
The grid resolves to 5% per dot; the distribution itself puts this chance at 79.1%, which is why the dots say 80%. Raise dotCount for a finer grid — it cannot make the forecast sharper than it is.
The supplied grid covers 5% to 95%, while 20 dots ask for 2.5% to 97.5%: the dots outside that range are clamped to the outermost quantiles supplied, never extrapolated. Send raw samples, or wider quantiles, to draw those tails honestly.
Checkout latency, next hour — one row per column of dots. Every dot is one of 20 equally likely requests, so a column's dot count is its probability and the running total is the cumulative probability up to that column. A column stands at the centre of the dot-wide slice its dots fall in; the slice it covers is printed, so no position is implied that the data does not support.
Column
Values
requests
Share
Cumulative
at or below
1
186 ms – 207.4 ms
3
15%
3 · 15%
3
2
221.6 ms – 249.9 ms
3
15%
6 · 30%
3
3
263.7 ms – 291.3 ms
3
15%
9 · 45%
3
4
305.1 ms – 323.9 ms
2
10%
11 · 55%
2
5
347.7 ms – 371.5 ms
2
10%
13 · 65%
2
6
395.3 ms – 419.1 ms
2
10%
15 · 75%
2
7
472.6 ms
1
5%
16 · 80%
1
8
555.9 ms
1
5%
17 · 85%
0
9
639.1 ms
1
5%
18 · 90%
0
10
722.4 ms
1
5%
19 · 95%
0
11
764 ms
1
5%
20 · 100%
0
The other direction · direction="at-or-above" counts the side above the line, so the headline is the risk rather than the hit rate: 1 evening in 20 reaches firm capacity. The rule sits inside the axis even though almost nothing reaches it — a threshold pushed off the edge would quietly turn "1 in 20" into "none visible".
Peak demand against firm capacity
20 equally likely evenings · one dot = 5% · median 729.5 MW · range 552 to 929 MW
1 in 20 evenings falls at or above 900 MW (firm capacity) — 5%.
Peak demand against firm capacity. A predictive distribution drawn as 20 equally likely evenings, one dot each, stacked into 13 columns along the value axis. one dot = 1 in 20 (5%). Median 729.5 MW, spanning 552 to 929 MW. 1 in 20 evenings falls at or above 900 MW, 5% of the dots; the other 19 fall below it. Every column is listed in the table that follows. Left and right arrows walk the columns, Home and End jump to the first and last.
at or above 900 MW · 1
below it · 19
one dot = 1 in 20 (5%)
Point at a column, or tab into the chart and use the arrow keys, to read what it covers. Click or press Enter to pin one; Escape releases it.
Each dot is one of 20 equally likely evenings: the dots sit at the 2.5%, 7.5% … 97.5% quantiles of the forecast, so counting them reads probability straight off the card.
Peak demand against firm capacity — one row per column of dots. Every dot is one of 20 equally likely evenings, so a column's dot count is its probability and the running total is the cumulative probability up to that column. A column stands at the centre of the dot-wide slice its dots fall in; the slice it covers is printed, so no position is implied that the data does not support.
Column
Values
evenings
Share
Cumulative
at or above
1
552 MW
1
5%
1 · 5%
0
2
600 MW
1
5%
2 · 10%
0
3
622.8 MW
1
5%
3 · 15%
0
4
640 MW – 656 MW
2
10%
5 · 25%
0
5
669.5 MW – 685.7 MW
2
10%
7 · 35%
0
6
700 MW – 712 MW
2
10%
9 · 45%
0
7
724 MW – 735 MW
2
10%
11 · 55%
0
8
749 MW – 769 MW
2
10%
13 · 65%
0
9
782.3 MW – 796.3 MW
2
10%
15 · 75%
0
10
806.2 MW – 824.2 MW
2
10%
17 · 85%
0
11
848.4 MW
1
5%
18 · 90%
0
12
874 MW
1
5%
19 · 95%
0
13
929 MW
1
5%
20 · 100%
1
dotCount=50 on a tight distribution · 800 measured cells discretised into 50 dots spanning barely four minutes, so the columns pile up. The auto-fit shrinks the dot until the tallest stack fits maxStackHeight and then stops — the count on screen is always 50, never 50 minus whatever did not fit. 23 of them finish inside the line takt.
Charge time per cell
50 equally likely cells · one dot = 2% · median 41.6 min · range 39.4 to 43.7 min
23 in 50 cells fall at or below 41.5 min (line takt) — 46%.
Charge time per cell. A predictive distribution drawn as 50 equally likely cells, one dot each, stacked into 16 columns along the value axis. one dot = 1 in 50 (2%). Median 41.6 min, spanning 39.4 to 43.7 min. 23 in 50 cells fall at or below 41.5 min, 46% of the dots; the other 27 fall above it. The distribution itself puts that chance at 46.5% — the dot grid resolves to 2% per dot. Every column is listed in the table that follows. Left and right arrows walk the columns, Home and End jump to the first and last.
at or below 41.5 min · 23
above it · 27
one dot = 1 in 50 (2%)
Point at a column, or tab into the chart and use the arrow keys, to read what it covers. Click or press Enter to pin one; Escape releases it.
Each dot is one of 50 equally likely cells: the dots sit at the 1%, 3% … 99% quantiles of the forecast, so counting them reads probability straight off the card.
The grid resolves to 2% per dot; the distribution itself puts this chance at 46.5%, which is why the dots say 46%. Raise dotCount for a finer grid — it cannot make the forecast sharper than it is.
Charge time per cell — one row per column of dots. Every dot is one of 50 equally likely cells, so a column's dot count is its probability and the running total is the cumulative probability up to that column. A column stands at the centre of the dot-wide slice its dots fall in; the slice it covers is printed, so no position is implied that the data does not support.
Column
Values
cells
Share
Cumulative
at or below
1
39.4 min
1
2%
1 · 2%
1
2
39.8 min
1
2%
2 · 4%
1
3
40.1 min
1
2%
3 · 6%
1
4
40.2 min – 40.4 min
3
6%
6 · 12%
3
5
40.5 min – 40.7 min
3
6%
9 · 18%
3
6
40.8 min – 41 min
4
8%
13 · 26%
4
7
41 min – 41.2 min
5
10%
18 · 36%
5
8
41.3 min – 41.5 min
5
10%
23 · 46%
5
9
41.5 min – 41.7 min
5
10%
28 · 56%
0
10
41.8 min – 41.9 min
4
8%
32 · 64%
0
11
42 min – 42.2 min
5
10%
37 · 74%
0
12
42.3 min – 42.5 min
5
10%
42 · 84%
0
13
42.6 min – 42.8 min
3
6%
45 · 90%
0
14
42.9 min – 43 min
2
4%
47 · 94%
0
15
43.1 min – 43.3 min
2
4%
49 · 98%
0
16
43.7 min
1
2%
50 · 100%
0
Same forecast, finer grid · dotCount=50 with a lower ceiling and smaller dots. The resolution goes from 5 percentage points per dot to 2, which sharpens what you can read off the card — it cannot sharpen the forecast itself, and the card keeps saying what the distribution's own number is.
When will the beta ship?
50 equally likely deliveries · one dot = 2% · median 12.41 days · range 6.22 to 25.65 days
12 in 50 deliveries fall at or below 10 days (promised date) — 24%.
When will the beta ship?. A predictive distribution drawn as 50 equally likely deliveries, one dot each, stacked into 18 columns along the value axis. one dot = 1 in 50 (2%). Median 12.41 days, spanning 6.22 to 25.65 days. 12 in 50 deliveries fall at or below 10 days, 24% of the dots; the other 38 fall above it. Every column is listed in the table that follows. Left and right arrows walk the columns, Home and End jump to the first and last.
at or below 10 days · 12
above it · 38
one dot = 1 in 50 (2%)
Point at a column, or tab into the chart and use the arrow keys, to read what it covers. Click or press Enter to pin one; Escape releases it.
Each dot is one of 50 equally likely deliveries: the dots sit at the 1%, 3% … 99% quantiles of the forecast, so counting them reads probability straight off the card.
When will the beta ship? — one row per column of dots. Every dot is one of 50 equally likely deliveries, so a column's dot count is its probability and the running total is the cumulative probability up to that column. A column stands at the centre of the dot-wide slice its dots fall in; the slice it covers is printed, so no position is implied that the data does not support.