Skip to content

Deal pipeline

Value at each stage, and how fresh it is.

Definition · Updated Nov 2, 2026

A deal pipeline shows the value in each sales stage, split by how long deals have sat there: fresh, aging or stuck. Use it for sales pipelines, hiring pipelines and any stage-based queue.

Pay once. Every update included.

Live preview

Deal pipeline17 deals worth $615K across 5 stages: lead $120K, qualified $115K, demo $133K, proposal $125K, won $122K; 2 deals stuck 45+ days.LEAD$120KQUALIFIED$115KDEMO$133KPROPOSAL$125KWON$122KFRESHAGING 21+ DSTUCK 45+ D
Deal pipeline
StageValueAge (days)State
LEAD$24K5Fresh
LEAD$18K12Fresh
LEAD$30K8Fresh
LEAD$12K30Aging 21+ d
LEAD$20K3Fresh
LEAD$16K50Stuck 45+ d
QUALIFIED$40K10Fresh
QUALIFIED$22K25Aging 21+ d
QUALIFIED$35K6Fresh
QUALIFIED$18K48Stuck 45+ d
DEMO$60K14Fresh
DEMO$28K22Aging 21+ d
DEMO$45K9Fresh
PROPOSAL$85K18Fresh
PROPOSAL$40K33Aging 21+ d
WON$70K2Fresh
WON$52K4Fresh

Sample data: open pipeline from lead ($120K) to won ($122K), fresh, aging 21+ days and stuck 45+ days

Size
Legend
Data shape
Value per stage, split by age
Good for
Sales and hiring pipelines
Avoid when
Items do not move through stages
Sizes
XS, S, M and L, re-laid out from the data

Anatomy

Inspect it like the Figma file.

The same layers, names and tokens as the component. Select one to read its size, fill and style.

Layers

083 / Deal pipeline

chart/083-pipeline-deals
plot · pipeline
Layer
deal
Type
Rectangle
Size
136 × 19
Fill
status/warning
Radius
3
Group
Marks · 17

Layers

083 / Deal pipeline

chart/083-pipeline-deals
plot · pipeline
Layer
deal
Type
Rectangle
Size
39 × 16
Fill
status/warning
Radius
3
Group
Marks · 17

Sizes

Re-laid out, never scaled.

The same data at XS, S, M and L. Every size is redrawn from the data, so text and line weights never shrink.

M against S

Width360 px480 px

Plot328 px440 px

Labels1010

Marks1717

Height212 px246 px

Same tokens at every size: text styles, 1 px lines and mark radius stay put.

When to use

Where deals get stuck.

Three signs it fits, and three signs another type fits better.

Is age per stage the point?

Counts that narrow.

Yes: Keep the deal pipeline

Is it value, not counts?

Counts per step.

Yes: Keep the deal pipeline

Is it stages, not a timeline?

Items on a timeline.

Yes: Keep the deal pipeline

Code and Figma

One name in Figma and in code.

Every Figma property is a prop with the same name and values. One command installs it.

Figma

chart/083-pipeline-deals

size
legend
Property = propValuesDefault
size"xs" · "s" · "m" · "l""xs"
legendtrue · falsetrue
color"cat-1" · "cat-2" · "cat-3" · "cat-4""cat-1"
npx shadcn add @chartory/deal-pipeline
deal-pipeline.tsx
import { DealPipeline } from "@/components/chartory/deal-pipeline"import { openDeals } from "./open-deals"export function OpenDeals() {  return (    <DealPipeline      data={openDeals}      size="m"      legend={true}    />  )}

Hearth widget

Deal pipeline as a widget.

The chart in a Hearth card with a hero number and two blocks. One token set, light and dark.

Code
Get the code

EmberPreset

ChartoryDefault preset

Pick the blocks, the size and the preset for your own widget.

Read the Hearth widget docs

FAQ

Pipeline questions.

What people ask before they put a deal pipeline in a dashboard.

Something else?

hello@usechartory.com
  • How long deals have sat in the stage: fresh, aging 21+ days and stuck 45+ days, named in the legend.

Related types

The same question, a different shape of answer. Every type ships in Figma and in code.

Same family

Flow between steps

Where volume goes: funnels, bridges and cycles.