Thrivve Partners Monte Carlo 'How Many' Forecasting
Forecast how many stories or tasks will be completed by a future date using Monte Carlo simulation based on historical throughput data.
When to Use
Use this skill when the user provides:
- Historical throughput data (daily counts for at least 10 days)
- A future target date
- A desired confidence level (optional, defaults to 85%)
- A start date (optional, defaults to today)
Common trigger patterns:
- "In the last X days, the throughput has been [counts] - how many stories will I have completed by [date] with [confidence]% confidence?"
- "Based on throughput of [counts], how many will we finish by [date] if we start [date / 'today']?"
- "Run Monte Carlo simulation for [counts] over [X] days until [date]"
Quick Start
Execute the Monte Carlo simulation script:
python scripts/thrivve-mc-how-many.py "<comma-separated-throughput>" "<target-date>" <confidence-level> "<start-date>"
Example:
python scripts/thrivve-mc-how-many.py "3,5,4,2,6,4,5,3,7,4,5,6,3,4,5" "2025-12-31" 85 "2025-10-27"
Input Requirements
Throughput data: Minimum 10 days of daily completion counts
- Format: Comma-separated integers (e.g., "3,5,4,2,6,4,5,3,7,4")
- More data = better predictions (15-30 days recommended)
Target date: Future date in any common format
- Supported formats: YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY, "Month DD, YYYY", etc.
- Must be in the future
Confidence level: Percentage between 0-99 (default: 85)
- 25%: Optimistic outcome (lower certainty, higher forecast)
- 50%: Median outcome (equal chance of more or less)
- 70%: Median outcome (equal chance of more or less)
- 85%: Conservative (commonly used in agile forecasting)
- 95%: Very conservative (high certainty, lower forecast)
- 99%: Maximum practical confidence (extremely conservative)
- Note: 100% confidence is not possible in probabilistic forecasting
Start date: A date in any common format (default: today)
- Supported formats: YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY, "Month DD, YYYY", etc.
Output Format
The script provides:
- Primary answer: Stories at specified confidence level, for the future date given
- Percentile forecasts: P25, P50, P70, P85, P95, P99
- Statistical summary: Mean, min, max across all simulations
- Throughput analysis: Statistics about historical data
- Process variation check: Assessment of data stability for forecasting
- JSON output: Structured data for further processing
Process Variation Checking
The skill automatically validates whether your throughput data exhibits stable, predictable variation suitable for forecasting using XMR (Individual and Moving Range) control charts from Statistical Process Control.
When It Runs
- 20+ data points: Full variation check runs, calculating control limits (UNPL, LNPL, URL)
- 10-19 data points: Simulation runs, but shows info message that variation cannot be verified
- < 10 data points: Simulation cannot run (insufficient data)
What It Checks
- Individual Values (UNPL/LNPL): Identifies unusually high or low throughput days
- Moving Ranges (URL): Detects unstable day-to-day variation
- Process Stability: Determines if historical data represents predictable future behavior
Understanding the Messages
✓ Process Stability Confirmed (Green Light)
- All throughput values within natural process limits
- Data is suitable for forecasting
- Past patterns reliably predict future performance
ℹ️ Variation Check Skipped (Informational)
- Less than 20 data points provided
- Simulation runs but process stability cannot be verified
- Consider gathering more data for validation
⚠️ Variation Warning (Caution Required)
- Outliers detected exceeding control limits
- Displays specific outlier values and calculated limits
- Forecast reliability may be compromised
- Recommendation: Investigate outliers before trusting forecast
- Are they one-time events (holiday, outage, reorganization)?
- Do they represent a changed process (new workflow, team size)?
- Should they be excluded from forecasting data?
Why It Matters
Monte Carlo simulation assumes your historical data represents future behavior. Outliers violate this assumption:
- May inflate variability, making forecasts unnecessarily pessimistic
- May skew averages, distorting expected completion counts
- Signal process instability, making predictions unreliable
As documented in ProKanban research: "If there are values outside of LNPL or UNPL lines, the system is objectively unstable therefore it shouldn't be used for forecasting."
What to Do About Outliers
- Investigate: Understand why the outlier occurred
- Classify: One-time event or permanent process change?
- Decide:
- Exclude if non-recurring (e.g., holiday shutdown)
- Keep if representative of new normal (e.g., increased team capacity)
- Re-run: Update forecast with adjusted data
For detailed statistical explanation, see references/methodology.md.
Workflow
- Parse user's throughput data from their message
- Extract target date and confidence level
- Run the Monte Carlo script with parsed parameters
- Present results in clear, actionable format
- Explain what the confidence level means in context
Interpreting Results
- At X% confidence: "There's an X% chance you'll complete AT LEAST this many stories" (uses the inverse percentile: 100-X)
- P50 (median): Half of simulations had more, half had fewer
- P15 (85% confidence): 85% of simulations completed more than this number
- P85: Only 15% of simulations exceeded this number (inverse: 15% confidence of "at least")
- Range: Shows best and worst cases from all simulations
Example: At 85% confidence, you'll complete AT LEAST 275 stories (P15), meaning there's only a 15% chance of completing fewer.
Advanced Usage
Optional parameters:
num_simulations: Number of Monte Carlo runs (default: 10,000)
- Higher values increase accuracy but take longer
- 10,000 is typically sufficient for reliable results
Methodology
For detailed explanation of Monte Carlo simulation methodology, assumptions, and limitations, see references/methodology.md.
Key points:
- Uses random sampling from historical throughput
- Runs thousands of simulations to build probability distribution
- Assumes past patterns continue into the future
- Does not account for trends or changing conditions
Example Interaction
User: "In the last 15 days, the throughput has been 3,5,4,2,6,4,5,3,7,4,5,6,3,4,5 - how many stories will I have completed by December 31st with 85% confidence, if I start today?"
Response steps:
- Parse throughput: [3,5,4,2,6,4,5,3,7,4,5,6,3,4,5]
- Parse target date: 2025-12-31
- Parse confidence: 85%
- Parse start date: today
- Run simulation
- Present results: "Given your start date of today, and a confidence of 85%, you will complete 275 stories OR MORE by December 31st, 2025 (there's only a 15% chance of completing fewer)"
- Provide percentile context and explain the forecast
1---2name: thrivve-mc-how-many3description: Thrivve Partners Monte Carlo simulation to forecast story/task completion based on historical throughput. Use when the user asks "how many stories/tasks will be completed by [date]" with historical daily throughput data. Requires at least 10 days of throughput history and a future target date. Provides probabilistic forecasts at specified confidence levels (default 85%).4---5
6# Thrivve Partners Monte Carlo 'How Many' Forecasting
7
8Forecast how many stories or tasks will be completed by a future date using Monte Carlo simulation based on historical throughput data.
9
10## When to Use
11
12Use this skill when the user provides:
131. Historical throughput data (daily counts for at least 10 days)
142. A future target date
153. A desired confidence level (optional, defaults to 85%)
164. A start date (optional, defaults to today)
17
18Common trigger patterns:
19- "In the last X days, the throughput has been [counts] - how many stories will I have completed by [date] with [confidence]% confidence?"
20- "Based on throughput of [counts], how many will we finish by [date] if we start [date / 'today']?"
21- "Run Monte Carlo simulation for [counts] over [X] days until [date]"
22
23## Quick Start
24
25Execute the Monte Carlo simulation script:
26
27```bash
28python scripts/thrivve-mc-how-many.py "<comma-separated-throughput>" "<target-date>" <confidence-level> "<start-date>"
29```
30
31Example:
32```bash
33python scripts/thrivve-mc-how-many.py "3,5,4,2,6,4,5,3,7,4,5,6,3,4,5" "2025-12-31" 85 "2025-10-27"
34```
35
36## Input Requirements
37
381. **Throughput data**: Minimum 10 days of daily completion counts
39 - Format: Comma-separated integers (e.g., "3,5,4,2,6,4,5,3,7,4")
40 - More data = better predictions (15-30 days recommended)
41
422. **Target date**: Future date in any common format
43 - Supported formats: YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY, "Month DD, YYYY", etc.
44 - Must be in the future
45
463. **Confidence level**: Percentage between 0-99 (default: 85)
47 - 25%: Optimistic outcome (lower certainty, higher forecast)
48 - 50%: Median outcome (equal chance of more or less)
49 - 70%: Median outcome (equal chance of more or less)
50 - 85%: Conservative (commonly used in agile forecasting)
51 - 95%: Very conservative (high certainty, lower forecast)
52 - 99%: Maximum practical confidence (extremely conservative)
53 - Note: 100% confidence is not possible in probabilistic forecasting
54
554. **Start date**: A date in any common format (default: today)
56 - Supported formats: YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY, "Month DD, YYYY", etc.
57
58## Output Format
59
60The script provides:
61- **Primary answer**: Stories at specified confidence level, for the future date given
62- **Percentile forecasts**: P25, P50, P70, P85, P95, P99
63- **Statistical summary**: Mean, min, max across all simulations
64- **Throughput analysis**: Statistics about historical data
65- **Process variation check**: Assessment of data stability for forecasting
66- **JSON output**: Structured data for further processing
67
68## Process Variation Checking
69
70The skill automatically validates whether your throughput data exhibits stable, predictable variation suitable for forecasting using **XMR (Individual and Moving Range) control charts** from Statistical Process Control.
71
72### When It Runs
73
74- **20+ data points**: Full variation check runs, calculating control limits (UNPL, LNPL, URL)
75- **10-19 data points**: Simulation runs, but shows info message that variation cannot be verified
76- **< 10 data points**: Simulation cannot run (insufficient data)
77
78### What It Checks
79
801. **Individual Values (UNPL/LNPL)**: Identifies unusually high or low throughput days
812. **Moving Ranges (URL)**: Detects unstable day-to-day variation
823. **Process Stability**: Determines if historical data represents predictable future behavior
83
84### Understanding the Messages
85
86**✓ Process Stability Confirmed** (Green Light)
87- All throughput values within natural process limits
88- Data is suitable for forecasting
89- Past patterns reliably predict future performance
90
91**ℹ️ Variation Check Skipped** (Informational)
92- Less than 20 data points provided
93- Simulation runs but process stability cannot be verified
94- Consider gathering more data for validation
95
96**⚠️ Variation Warning** (Caution Required)
97- Outliers detected exceeding control limits
98- Displays specific outlier values and calculated limits
99- Forecast reliability may be compromised
100- **Recommendation**: Investigate outliers before trusting forecast
101 - Are they one-time events (holiday, outage, reorganization)?
102 - Do they represent a changed process (new workflow, team size)?
103 - Should they be excluded from forecasting data?
104
105### Why It Matters
106
107Monte Carlo simulation assumes your historical data represents future behavior. **Outliers violate this assumption**:
108- May inflate variability, making forecasts unnecessarily pessimistic
109- May skew averages, distorting expected completion counts
110- Signal process instability, making predictions unreliable
111
112As documented in ProKanban research: "If there are values outside of LNPL or UNPL lines, the system is objectively unstable therefore it shouldn't be used for forecasting."
113
114### What to Do About Outliers
115
1161. **Investigate**: Understand why the outlier occurred
1172. **Classify**: One-time event or permanent process change?
1183. **Decide**:
119 - Exclude if non-recurring (e.g., holiday shutdown)
120 - Keep if representative of new normal (e.g., increased team capacity)
1214. **Re-run**: Update forecast with adjusted data
122
123For detailed statistical explanation, see `references/methodology.md`.
124
125## Workflow
126
1271. Parse user's throughput data from their message
1282. Extract target date and confidence level
1293. Run the Monte Carlo script with parsed parameters
1304. Present results in clear, actionable format
1315. Explain what the confidence level means in context
132
133## Interpreting Results
134
135- **At X% confidence**: "There's an X% chance you'll complete AT LEAST this many stories" (uses the inverse percentile: 100-X)
136- **P50 (median)**: Half of simulations had more, half had fewer
137- **P15 (85% confidence)**: 85% of simulations completed more than this number
138- **P85**: Only 15% of simulations exceeded this number (inverse: 15% confidence of "at least")
139- **Range**: Shows best and worst cases from all simulations
140
141**Example**: At 85% confidence, you'll complete AT LEAST 275 stories (P15), meaning there's only a 15% chance of completing fewer.
142
143## Advanced Usage
144
145Optional parameters:
146- `num_simulations`: Number of Monte Carlo runs (default: 10,000)
147 - Higher values increase accuracy but take longer
148 - 10,000 is typically sufficient for reliable results
149
150## Methodology
151
152For detailed explanation of Monte Carlo simulation methodology, assumptions, and limitations, see `references/methodology.md`.
153
154Key points:
155- Uses random sampling from historical throughput
156- Runs thousands of simulations to build probability distribution
157- Assumes past patterns continue into the future
158- Does not account for trends or changing conditions
159
160## Example Interaction
161
162User: "In the last 15 days, the throughput has been 3,5,4,2,6,4,5,3,7,4,5,6,3,4,5 - how many stories will I have completed by December 31st with 85% confidence, if I start today?"
163
164Response steps:
1651. Parse throughput: [3,5,4,2,6,4,5,3,7,4,5,6,3,4,5]
1662. Parse target date: 2025-12-31
1673. Parse confidence: 85%
1684. Parse start date: today
1695. Run simulation
1706. Present results: "Given your start date of today, and a confidence of 85%, you will complete 275 stories OR MORE by December 31st, 2025 (there's only a 15% chance of completing fewer)"
1717. Provide percentile context and explain the forecast