<!-- Markdown rendering of https://salesascode.com/docs/library/capacity. The HTML page is canonical. -->

# Capacity & Bowtie · Docs · Sales as Code

[← All feature docs](https://salesascode.com/docs/library)

Feature docs · /capacity

# Capacity & Bowtie

Ramp-adjusted quota capacity vs the number, and the two-sided Bowtie funnel with its bottleneck named.

Included with [crocronjob](https://salesascode.com/docs/library/crocronjob) . A seat without it sees an upsell here instead of the page.

[Open Capacity & Bowtie →](https://salesascode.com/capacity) [All docs](https://salesascode.com/docs/library)

## Overview

[Capacity & Bowtie](https://salesascode.com/capacity) gives a CRO two board-grade views in one place. Capacity governance answers whether the team actually covers the number once you account for ramp; Bowtie analytics answers where the two-sided revenue funnel, acquisition through retention, is leaking. Both feed the scenario model and the leadership panel.

**What it is for, on the page.** Under the headline, this page says what it produces, what makes it run, and where the output lands. Every Work page reads that line from one registry, so the three answers cannot drift from the page.

## Ramp-adjusted capacity

Full quota capacity overstates what you can count on, because a ramping rep does not carry a full number. Capacity governance multiplies each rep's quota by their ramp (productivity) to get the capacity you can actually rely on, compares it to the target, and reports a verdict, over-capacity, balanced, or under-capacity, with the exact capacity gap and the reps below pace on attainment. It is a defensible read on whether the team is staffed for the plan.

## It reads your roster, so you do not retype it

Leave the rep box empty and capacity governance uses your own book: one line per rep from your stored quota rows, with attainment computed from their closed-won deals. A team of twenty was sixty hand-typed numbers the server already held. Paste reps instead when you want to model a what-if, and the paste wins.

**Ramp is the exception, and it is deliberate.** Nothing stores a per-rep ramp factor, so a rep read from your book arrives without one and the engine counts them as fully ramped. That is optimistic, so the page says how many reps that applies to rather than absorbing it quietly. Type the ramping ones into the box to correct the number. Reading a ramp factor off some unvalidated field would make a new hire look fully productive, which is the exact error this view exists to stop.

**Only closed-won counts toward attainment.** Open pipeline is not attainment, and crediting it is how a rep with a big quarter ahead of them reads as already there. A rep with a quota and nothing closed is listed at zero rather than omitted, because that is the row that matters most. A rep whose quota is zero is reported as unmeasurable, not as nought per cent.

## The Bowtie funnel

The Bowtie models revenue as one funnel spanning both halves of the customer lifecycle: lead to MQL to SQL to won on the acquisition side, then onboarded to adopted to expanded on the retention side. It computes the conversion at every step, the end-to-end conversion, and names the single lowest-conversion step as the bottleneck, the leak to fix first. A step off a stage with no count is unmeasurable, not a guessed number, so it can never be falsely flagged as the bottleneck.

## The segment capacity plan, which is the one that is saved

The two views above are a scratchpad: type numbers, read a verdict, close the tab. The third card is different. It is saved to your account, one row per segment, and it is the input the scheduled capacity check reads. Give each segment its ramped heads, its ramping heads, the productivity you expect per head, a ramp factor, the target, and the pipeline against it.

**What you get for it.** The check models heads times productivity times ramp against each segment's number and tells you which segments are short, on a this-quarter clock rather than a today one, because hiring is the fix and hiring takes time. It is the crocronjob T-07 trait, and until this card existed it had never fired for anybody: the detector read a segment record that nothing in the product could create.

**Blank is not zero.** Leave a number out and the segment is reported as unmodelable, naming the input it wants. Enter a zero and that is a claim about the segment. The check will not hand an unplanned segment an industry average, because a made-up productivity figure is what makes an unplanned org look planned.

Re-saving a segment under the same name edits it rather than adding a second one, so the card is safe to open, correct and save again.

## Deterministic

Both views are deterministic: the same reps, target, and funnel counts always produce the same capacity verdict and the same bottleneck, so the numbers hold up in a board or planning review. Nothing is invented, capacity comes from real quotas and ramp, and the bottleneck is always a measured conversion.

---

More for agents: [llms.txt](https://salesascode.com/llms.txt), [full reference](https://salesascode.com/llms-full.txt), [OpenAPI](https://salesascode.com/openapi.json), [sitemap](https://salesascode.com/sitemap.xml).
