// 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.
npx skills add sarojkjha/aaj-marketing-skills --skill pipeline-and-forecastHow to install and run this
Install it in your project:
npx skills add sarojkjha/aaj-marketing-skills --skill pipeline-and-forecastNo 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/mcpThen 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@aajOpenAI Codex
codex plugin marketplace add sarojkjha/aaj-marketing-skillscodex plugin add aaj-marketing-skills@aajClaude or ChatGPT — no install
Add this as a custom connector:
https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp// 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 onlyMakes 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 it | Where your inputs go |
|---|---|
| Skill installed in your agent, or the local MCP server | The 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 server | Your 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
// setup
npx skills add sarojkjha/aaj-marketing-skills --skill pipeline-and-forecasthttps://aaj-engines-mcp.sarojkjha10.workers.dev/mcpAgents listed: Claude Code, Cursor, OpenAI Codex, Windsurf, Cline. Tested and recorded: Claude Code, OpenAI Codex (Windows, ab-test-significance only).
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
- Read the brand/product context first. Pull any relevant goals/targets from
.agents/product-marketing.md. If none exists, ask the user. - Gather inputs: the target/quota for the period, the open deals (amount + stage), the stage→probability mapping (from
sales-process-designor historical conversion — not optimism), and the average win rate. If stages and probabilities aren't defined, runsales-process-designfirst. - 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
- Gather the target and the open pipeline — deals with amount and stage.
- Apply stage→probability weights from real conversion history to get the weighted forecast.
- Compute coverage = open pipeline ÷ target (the engine flags it against ~1/win-rate).
- Compute the gap and the new pipeline needed = gap ÷ win rate.
- Separate commit from best case.
- 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, useskills/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.
Related AAJ resources
- AAJ tools — https://aajconsult.com/tools.
Related skills
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.
// 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.
// 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.
