> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beaconrevenue.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipeline velocity

> A 0-100 measure of how healthily an open pipeline is moving against its own historical pace — published for each segment and for the company as a whole, higher is healthier, and it runs the opposite way to the deal-level measure.

## What it is

`pipeline_velocity` is a 0-100 measure of how healthily an open pipeline is moving, judged against the pace that pipeline's own deals have historically set. Higher is healthier.

It describes a pipeline, not a deal. A pipeline can score well while a deal inside it is stuck, and badly while the deal you happen to be watching moves fine.

**It is one measure published at two levels.** On the [segment object](/data-model/segment) it is that segment's own open deals measured against that segment's own closed-deal history. On the [company and period object](/data-model/company-period) it is your whole open pipeline against the pace set by everything that closed. Same name, same arithmetic, same scale — and the two readings are not an average of each other and can move apart without either being wrong. Which one you are looking at is told by the object it sits on, never by the number.

## How it is calculated

Measured. Four measures are each scored 0-100 and combined at fixed weights.

| Measure | Weight | What it reads |
| - | - | - |
| Stage pace | 0.35 | The pipeline's average time in each stage against the median for that pipeline and stage over the trailing twelve months |
| Stall concentration | 0.30 | The share of the pipeline's open value sitting in stalled deals. A higher score means less of it is stalled |
| Direction of travel | 0.20 | Whether average time in stage improved or worsened against the prior quarter |
| Consistency | 0.15 | How tightly deals at the same stage cluster around the same duration |

The four weights sum to 1.00, and each is scored on a stated scale. Stage pace is 100 when the pipeline sits at or under its median across all stages, falling to 0 at twice the median. Stall concentration is 100 at 5% or less of pipeline value stalled, falling to 0 at 35% or more. Direction of travel is 100 if average stage time improved by 5% or more, 60 if it held within 5% either way, 30 if it worsened by 5-15%, and 0 beyond that. Consistency is 100 when the spread of stage durations is tight and 0 when it is wide.

A pipeline scoring 70, 85, 60 and 60 across the four, in the order above, scores 71.0.

Three levels are worth knowing. **Below 55**, a pipeline velocity review is raised with sales management. **Below 40** is treated as critical and escalated. **65 or above** is the steady-state target.

A deal counts as stalled when it has been in its stage longer than 1.5 times the median for its pipeline and stage.

## Where it comes from

The pace every score is read against is built from your own deals that closed in the trailing twelve months — won and lost, both — grouped by stage, and by segment where the score is a segment's.

| Source | What it supplies | Required |
| - | - | - |
| Your CRM — open deals, with stage history | The pipeline being scored | Yes |
| Your CRM — deals closed in the last twelve months | The pace it is scored against | Yes |
| Your segment definitions | Which pipeline a segment score covers, and against which history | For the segment score |

Where fewer than ten comparable deals have closed, there is no history of your own to read against. Beacon uses an estimate drawn from elsewhere in your business and labels it low confidence; at ten it becomes medium, and at thirty it is treated as fully calibrated. Deals whose records are too incomplete to trust are left out of the history rather than allowed to weaken it.

| Where it is available | |
| - | - |
| Read interface | Yes, with an opt-in |
| MCP | Yes, with an opt-in |
| Events | Yes, with an opt-in |
| CRM property | Yes, with an opt-in |

<Note>
  No read interface or MCP tool serves this value yet — the table above publishes the shape ahead of the doors. The company-wide score is catalogued and not yet served either; it reaches the API from its next version.
</Note>

**Where the choice is made.** This value is not open by default on any door. The choice happens when a reader grant that reaches it is issued or widened, when you subscribe to events, or when you turn the CRM property on. Whoever makes it is shown who becomes able to see the value, and their yes is recorded — holding a grant is no longer enough on its own.

The same marks hold at both levels. A segment's score and the company's score are one value, and a door open to one is open to the other on the same terms.

## How fresh it is

Scored once per pipeline per recalculation cycle, which is a daily consolidation. The historical pace behind it is rebuilt quarterly, within five working days of quarter close, and does not move between rebuilds.

**On the company and period object, which cycle's score stands for a period is not yet declared** — a period holds many cycles, and the rule that picks one is still to be stated. Read the company score with its own `computed_at` until it is.

Both timestamps travel with it — the moment the score describes, and the moment Beacon last worked it out.

## Currency and rounding

Neither applies to the score itself. It is a number between 0 and 100 with no unit.

Money is inside it rather than on it: stall concentration reads the share of the pipeline's open value held in stalled deals, and that pipeline value is stated in your single reporting currency. The opt-in above does not follow from that money; it follows from how sensitive the record behind the score is.

## What changes it

Deals moving faster or slower through stages. More or less of the pipeline's value sitting in stalled deals. The direction against last quarter turning. The spread of stage durations widening or tightening.

**And the quarterly rebuild, with nothing happening in your pipeline at all.** The score is a comparison against your own recent history, so if that history got slower, the same pipeline scores better without moving any faster. That is the value working correctly rather than drifting.

Segment membership changes a segment's score too. Accounts moving between segments take their open deals with them, and two segment scores move without anything changing on any deal. The company score does not move for that reason — every deal is still in the one pipeline.

## What it is not

* **Not [`deal_velocity_percentile`](/definitions/deal-velocity-percentile), and these two are the easiest pair in Beacon to mix up.** That is a rank for one deal where **lower is better**; this is a score for a whole pipeline where **higher is better**. Two pace measures, two subjects, opposite directions. A rule written for one inverts when read against the other.
* **Not two figures.** The segment score and the company score are the same measure at two levels. Neither is derived from the other, and the company score is not the average of the segment scores.
* **Not available by team.** Beacon's velocity model names a team-level pipeline as well, but nothing in Beacon defines what a team is, so no team-level score is produced rather than one being guessed at.
* **Not a forecast.** It says how the pipeline is moving now against how it used to move. What it will close is a different figure.
* **Not [days in stage](/definitions/days-in-stage).** That counts days for one deal. This reads a whole pipeline, and stage pace is only one of its four parts.
* **Not a count of stalled deals.** Stall concentration is measured by pipeline value, not by number of deals, so one large stalled deal can weigh more than several small ones.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.