Skip to content
DocsChartsForecast bandLast updated Nov 2, 2026

Forecast band

Where it is heading, and how sure we are. Sample data: cash on hand, May to April, actual to October, P10–P90 band.

Open in
Cash balance forecastCash balance from May to October (actual, $2.41M today) and forecast to April: $2.66M, with a p10–p90 band of $2.24M to $3.08M.3.2M2.7M2.3M1.8MMAYOCTAPRACTUALFORECAST
Cash balance forecast
MonthBalanceP10P90Kind
May$2.10M$2.08M$2.12MActual
Jun$2.20M$2.18M$2.22MActual
Jul$2.15M$2.13M$2.17MActual
Aug$2.30M$2.28M$2.32MActual
Sep$2.35M$2.33M$2.37MActual
Oct$2.41M$2.39M$2.43MActual
Nov$2.46M$2.39M$2.53MForecast
Dec$2.50M$2.36M$2.64MForecast
Jan$2.52M$2.31M$2.73MForecast
Feb$2.58M$2.30M$2.86MForecast
Mar$2.60M$2.25M$2.95MForecast
Apr$2.66M$2.24M$3.08MForecast
Cash balance forecastCash balance from May to October (actual, $2.41M today) and forecast to April: $2.66M, with a p10–p90 band of $2.24M to $3.08M.3.2M2.7M2.3M1.8MMAYOCTAPRACTUALFORECAST
Cash balance forecast
MonthBalanceP10P90Kind
May$2.10M$2.08M$2.12MActual
Jun$2.20M$2.18M$2.22MActual
Jul$2.15M$2.13M$2.17MActual
Aug$2.30M$2.28M$2.32MActual
Sep$2.35M$2.33M$2.37MActual
Oct$2.41M$2.39M$2.43MActual
Nov$2.46M$2.39M$2.53MForecast
Dec$2.50M$2.36M$2.64MForecast
Jan$2.52M$2.31M$2.73MForecast
Feb$2.58M$2.30M$2.86MForecast
Mar$2.60M$2.25M$2.95MForecast
Apr$2.66M$2.24M$3.08MForecast

Installation

  1. 1

    Set up the registry once

    This chart is free in Hearth and MIT licensed: no token. Add @chartory to components.json once (the URL alone, no headers), or skip this when another chart is already installed.

    Installation guide
  2. 2

    Add the chart

    One command adds the Forecast band component to your project.

    npx shadcn add @chartory/forecast-band
  3. 3

    Use it

    Pass your rows. The props are the Figma properties.

    usage.tsx
    import { ForecastBand }  from "@/components/chartory/forecast-band"<ForecastBand  data={cashForecast}  size="m"  legend/>

Props

<ForecastBand>

Every prop but data is a Figma property with the same name and values.

PropTypeDefault
data: The chart's data. The tables below list every field.ForecastBandDataRequired
size: The size class. Each one is laid out again from the data."xs" | "s" | "m" | "l""m"
legend: Shows the legend row under the plot.booleantrue
color: The data colour of the primary marks (data/primary)."cat-1" | "cat-2" | "cat-3" | "cat-4""cat-1"

ForecastBandData

The data prop: one object for the whole chart.

PropTypeDefault
mid: The middle values.number[]Required
hi: The upper values.number[]Required
lo: The lower values.number[]Required
split: Where the actuals end and the forecast starts (index).numberRequired
min: The bottom of the value scale.numberRequired
max: The top of the value scale.numberRequired
ticks: The axis tick labels.string[]Required
xl: The x axis labels, by index.Record<number, string>Required

The data as a JSON Schema: schemas/forecast-band.json

Forecast band chart: a React and Figma chart in four sizes

What does a forecast band chart show?

A forecast band chart shows the actual line up to today and a forecast after it, with a shaded band for the range of likely outcomes. The band widens with time as certainty drops. Use it for cash, demand and capacity plans.

Chartory ships it as a Figma component and a React component with the same name. The code installs from the shadcn registry with one command and lands in your project as a file you own.

What is the Forecast band component?

It is one <ForecastBand> component. Its props are the Figma properties with the same names and values, and the props table above lists them. The data is actuals, then a forecast with a low and a high.

Sizes XS, S, M and L re-lay the chart out from the data instead of scaling it, so labels stay readable at every size.

When should I use it?

  • Is there a range around the forecast? Yes means the forecast band fits.
  • Is it open-ended, with no budget to burn? Yes means the forecast band fits.
  • Does it continue a trend? Yes means the forecast band fits.

When does another type fit better?

  • A single forecast line. Use Line chart instead.
  • A budget to burn against. Use Budget runway instead.
  • Steps between two totals. Use Waterfall instead.

Forecast band questions

Installing, data, Figma and plans.

  • Yes. It installs through the shadcn registry with the shadcn CLI, and the file lands in your project.

Stay in the loop

New charts, by email.

Get an email when new chart types and releases ship.

Unsubscribe any time.