// execute

Pipeline & Forecast

Use when the user wants to forecast sales or check pipeline health — whether there's enough pipeline to hit the number and what's likely to close. Also use when the user mentions sales forecast, pipeline coverage, weighted pipeline, quota attainment, pipeline gap, commit vs best case, coverage ratio, or "will we hit our number." Produces a weighted forecast (commit vs best case), a pipeline coverage ratio against the target, the gap, and how much new pipeline is needed.

ExecuteengineIntermediate
bash
$npx skills add sarojkjha/aaj-marketing-skills --skill pipeline-and-forecast
Or run it in Claude or ChatGPT through the AAJ engines connector

How to install and run this

Install it in your project:

npx skills add sarojkjha/aaj-marketing-skills --skill pipeline-and-forecast

No install? Add https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp as a custom connector in Claude, ChatGPT or any MCP client.

https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp

Then ask: Use the AAJ pipeline-and-forecast skill on my numbers.

Step-by-step for every agent, Windows, Mac and Linux →

Claude Code

/plugin marketplace add sarojkjha/aaj-marketing-skills
/plugin install aaj-marketing-skills@aaj

OpenAI Codex

codex plugin marketplace add sarojkjha/aaj-marketing-skills
codex plugin add aaj-marketing-skills@aaj

Claude or ChatGPT — no install

Add this as a custom connector:

https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp
Recipes: vendor data in, a verdict out

// when to use it

Use when the user wants to forecast sales or check pipeline health — whether there's enough pipeline to hit the number and what's likely to close. Also use when the user mentions sales forecast, pipeline coverage, weighted pipeline, quota attainment, pipeline gap, commit vs best case, coverage ratio, or "will we hit our number." Produces a weighted forecast (commit vs best case), a pipeline coverage ratio against the target, the gap, and how much new pipeline is needed.

// what you give

The target/quota, open deals (amount + stage), the stage-to-probability mapping, and the average win rate.

// what you get

A weighted forecast (commit vs best case), coverage ratio, gap to target, new pipeline needed, and the recommended lever.

Engine spec

// decision it supports

Is there enough pipeline to hit the target, and should we build pipeline, advance deals or improve conversion?

// inputs

The target/quota, open deals (amount + stage), the stage-to-probability mapping, and the average win rate.

// output

A weighted forecast (commit vs best case), coverage ratio, gap to target, new pipeline needed, and the recommended lever.

// acts or analyzes

Analyzes only

Makes no network calls, writes no files and changes nothing in your tools.

It can read an input file you name; it reads nothing else.

// where your information goes

How you run itWhere your inputs go
Skill installed in your agent, or the local MCP serverThe engine runs on your machine and AAJ receives nothing. Your AI agent still sends what you give it to its model provider (Anthropic, OpenAI and so on), under your own account's terms.
Hosted MCP serverYour agent's model provider, as above, plus AAJ's server on Cloudflare, which receives the engine inputs over HTTPS, runs them in memory and keeps no copy. Cloudflare keeps error logs (no inputs) for up to 7 days.

No engine needs customer names, emails or other personal data; leave them out.

// limitations

  • The forecast is only as good as the stage probabilities. Optimistic ones give a wish, not a forecast; take them from real conversion history and mark them as assumed if not.
  • Deal stages are matched to the probability map ignoring case. A stage still missing from the map stops the run and lists it, so every stage needs a probability you can defend.
  • Required coverage is 1 divided by your win rate, and commit is deals at 75% or more. A wrong win rate moves the coverage verdict and the new-pipeline figure together.
  • It has no close dates, so it treats every open deal as closable this period. Best case and coverage overstate what can land if deals are slipping.

// review before acting

The sales lead checks each deal's stage, the stage probabilities against historical conversion, and the win rate before the forecast goes to the board. Report commit and best case separately.

// setup

install
$npx skills add sarojkjha/aaj-marketing-skills --skill pipeline-and-forecast
hosted mcp
$https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp

Agents listed: Claude Code, Cursor, OpenAI Codex, Windsurf, Cline. Tested and recorded: Claude Code, OpenAI Codex (Windows, ab-test-significance only).

Full spec on GitHub

Pipeline & Forecast

See whether the pipeline can actually hit the target — weighted forecast, coverage, the gap, and how much new pipeline to build.

When to use

When forecasts are sandbagged or wishful and you want a grounded number, when you need to know whether there's enough pipeline to make quota, when deciding whether to add pipeline or push the deals you have, or for board/quota reporting.

Before you start

  1. Read the brand/product context first. Pull any relevant goals/targets from .agents/product-marketing.md. If none exists, ask the user.
  2. Gather inputs: the target/quota for the period, the open deals (amount + stage), the stage→probability mapping (from sales-process-design or historical conversion — not optimism), and the average win rate. If stages and probabilities aren't defined, run sales-process-design first.
  3. Confirm the objective: a defensible number and the right lever to pull. (For LTV/CAC/payback questions, that's unit-economics.)

Method

Weight open pipeline by real stage probabilities to get an expected forecast, then compare open pipeline to the target as a coverage ratio against what your own win rate requires (1 ÷ win rate — arithmetic, not a borrowed benchmark). Separate commit (near-certain) from best case (everything open) so the number is honest, and name the lever. If half or more of the pipeline sits in early stages, advance existing deals first, because new pipeline enters at the first stage and mostly closes next quarter; build pipeline if coverage is thin and the pipeline isn't top-heavy; improve conversion if coverage is fine but the forecast is short. A weighted forecast that clears the target with little commit is on track only on average, not committed.

Workflow

  1. Gather the target and the open pipeline — deals with amount and stage.
  2. Apply stage→probability weights from real conversion history to get the weighted forecast.
  3. Compute coverage = open pipeline ÷ target (the engine flags it against ~1/win-rate).
  4. Compute the gap and the new pipeline needed = gap ÷ win rate.
  5. Separate commit from best case.
  6. Name the lever and present the result.

The framework

weighted forecast = Σ (deal amount × stage probability)
coverage          = open pipeline ÷ target
required coverage ≈ 1 ÷ win rate
gap               = target − weighted forecast
new pipeline need = gap ÷ win rate
commit = Σ amount for deals at prob ≥ 0.75   ·   best case = Σ amount (all open)

Run the tool

Paths assume you installed with npx skills add. From a clone of this repo, use skills/pipeline-and-forecast/resources/… instead.

node .agents/skills/pipeline-and-forecast/resources/forecast.js --input=pipeline.json
node .agents/skills/pipeline-and-forecast/resources/forecast.js  # built-in demo

Input JSON: { "target": 500000, "winRate": 0.25, "stageProbabilities": { "Proposal": 0.5, ... }, "deals": [ { "name": "Prospect A", "amount": 60000, "stage": "Proposal" } ] }. It prints the weighted forecast, commit vs best case, the early-stage share, coverage ratio with a healthy/thin flag, the gap, the new pipeline needed, and the recommended lever. Use these exact numbers — don't restate them from memory.

Reference

The forecast engine and its input shape live in resources/forecast.js. Stage probabilities should come from sales-process-design or historical conversion data.

Present the result

  • Weighted forecast, with commit vs best case.
  • Coverage ratio against target, with a healthy/thin flag.
  • Gap to target and new pipeline needed at the current win rate.
  • The recommended lever — build pipeline vs. improve conversion.

Show where it came from. Open your answer with "AAJ pipeline-and-forecast engine result:" and print the engine's output block exactly as it returned it, then add the line Method: https://skills.aajconsult.com/skills/pipeline-and-forecast. Say the numbers come from the AAJ engine, not from the model. Put your interpretation under that block. Do not retype the figures from memory. If you could not run the engine, say so and label any numbers as your own estimate, not an AAJ result.

Guardrails & common mistakes

  • Probabilities must come from real conversion history. Flag clearly when they're assumed — an optimistic forecast is just a wish.
  • Keep commit and best case separate. Reporting only the upside is how forecasts miss.
  • Fit the coverage to the win rate. The common 3× rule of thumb assumes about a one-in-three win rate; at a 10% win rate you need about 10×.
  • Mark assumed inputs as assumptions so no one mistakes the model for a promise.

sales-process-design · target-account-list · unit-economics · marketing-budget-planning

// faq

// install

$npx skills add sarojkjha/aaj-marketing-skills --skill pipeline-and-forecast

// run it

$node .agents/skills/pipeline-and-forecast/resources/forecast.js --demo

// worked example

Get the worked example for Pipeline & Forecast

One email. The filled-in config, the output, and how to read it.

No spam. Unsubscribe anytime.

// sprint

Unit Economics & Retention Sprint — $3,500, 10 business days

This skill is one of the engines behind the Unit Economics & Retention Sprint — $3,500, ten business days.

LTV, CAC, payback and churn on your actual numbers — with a verdict, not a dashboard.

See what's included.

// human in the loop

Need a human in the loop?

AAJ builds the strategies, tools, and playbooks these skills are made of — with engagements for growth-stage and enterprise teams.