1Demonstration 1 of 4
Three scenarios against a declared ceiling
Which scenarios breach a bound the model was told about?
Each scenario runs the same model with one override. The constraint is checked on the whole path after the run, so a scenario breaches if its highest value is above the ceiling.
imitation is the strength of word of mouth per week. adopters count people after twenty weeks from a market of 1000. The ceiling is a declared bound on adopters.
Predict first. With the ceiling at 900, which of the three scenarios record a breach?
Choose an example
Constructed example: the chapter's scenario table, imitation 0.05, 0.30 and 0.60, run with the pack's ScenarioRunner; the ceiling of 1100 is a value defined for this reader.
Calculated values
- Scenario
- Base (imitation 0.30)
- Adopters at week 20
- 937.7
- Highest adopters
- 937.7
- Ceiling
- 900
- Constraint breaches
- 1
Week 1 adds (0.01 + 0.30 x 1 / 1000) x (1000 - 1) = 10.29 adopters, giving 11.29, and twenty such weeks end at 937.7. Breach: 937.7 - 900 = 37.7 above the ceiling, so the record carries the warning "adopters reached 937.7, above 900.0".
Use the idea
Declare the bound the organization cares about before running scenarios, so every run reports against it.
Where the conclusion applies
One parameter varied, Euler at a step of 1, twenty weeks, a market of 1000. The result fails to generalise if other parameters, never varied here, also move the outcome.
Check your understanding: With the ceiling at 1100, how many scenarios breach, and what is the aggressive peak?
Chapter 25 source: section "Scenarios, not predictions". Demonstration C25-D01.
2Demonstration 2 of 4
The settings belong in the record
Can two scenarios run at different settings be compared as policies?
The difference in settings moves the answer by a few adopters, which is more than the gap the policy difference makes. The comparison then reflects the solver, not the policies.
Scenario A has imitation 0.300 and B has 0.302, so B truly has more adopters. B always runs with Euler at a step of 1; A runs with the chosen solver and step.
Predict first. If A is run with the fourth-order solver at a step of 1.0, does B still read as higher?
Choose an example
Constructed example: the chapter's base scenario, plus a second scenario with a gap chosen for this reader, run with the pack's ScenarioRunner.
Calculated values
- A settings
- euler, step 1.00
- A adopters
- 937.70
- B adopters (euler, step 1.00)
- 939.87
- B minus A as read
- 2.17
- B minus A at equal settings
- 2.17
- Model hash A
- 05bc66d66e9fe2a0
- Model hash B
- d8a46a6f96bf7fa6
At equal settings B - A = 939.87 - 937.70 = 2.17, so stronger word of mouth (0.302 against 0.300) gives more adopters. As recorded, B - A = 939.87 - 937.70 = 2.17. B reads as higher, which is the true order. The hashes differ because the override differs; the settings travel in the record beside them.
Use the idea
Compare scenarios only when the record shows identical settings, and re-run at equal settings when it does not.
Where the conclusion applies
A small true gap of about two adopters, chosen to make the point. A larger policy gap would survive the settings difference.
Check your understanding: If B had imitation 0.31 (948.0 adopters under Euler at step 1), would the settings difference of A still reverse the order?
Chapter 25 source: section "What the record has to hold". Demonstration C25-D02.
3Demonstration 3 of 4
Averaging scenarios shows a path nobody ran
What does the average of two scenarios describe?
The average of two paths is a third path that the model never generated. Reading it as a forecast hides the spread, which is the information the scenarios were run to show.
Each line is one scenario, set by its imitation override. The dashed line is the plain average of the two emphasised lines at each week.
Predict first. Averaging the cautious and aggressive scenarios at week 20, is the result near either scenario or between them?
Choose an example
Constructed example: the chapter's three scenarios, averaged by this reader to illustrate the dashboard rule; the pack runs the scenarios, the averaging is plain arithmetic.
Calculated values
- Scenarios averaged
- base and aggressive
- Week read
- 20
- Base at that week
- 937.7
- Aggressive at that week
- 1000.0
- Average
- 968.8
- Nearest scenario
- Base (937.7) and Aggressive (1000.0) (a tie)
- Distance to nearest scenario
- 31.1
At week 20: (937.7 + 1000.0) / 2 = 968.8. The closest of the three scenario values is Base (937.7) and Aggressive (1000.0), a tie, since the average sits halfway between them, at a distance of |968.8 - 937.7| = 31.1. No scenario produced the average, which is why the contract displays the lines side by side.
Use the idea
Show scenarios as separate lines or a range, and say that no line is a prediction.
Where the conclusion applies
Three scenarios and an equal weighting. Any other weighting would also be a path the model never generated.
Check your understanding: At week 20, what is the average of the cautious and base scenarios?
Chapter 25 source: section "The dashboard contract". Demonstration C25-D03.
4Demonstration 4 of 4
A narrative may cite only the record
Which quantities in a proposed narrative does the replay record fail to support?
The check is a set difference: the names in the narrative minus the names in the record. It is mechanical, so a fluent narrative cannot talk its way past it.
The record holds the reported outputs and the overrides of one run. A narrative names variables; the check lists names the record does not hold.
Predict first. If the narrative names adopters and marketing_spend, which name is flagged?
Choose an example
Constructed example: the chapter's aggressive scenario, with the narrative name sets and the second override defined for this reader, checked with the pack's supported_by_record.
Calculated values
- Record holds
- adopters, imitation
- Narrative names
- adopters, marketing_spend
- Flagged as unsupported
- marketing_spend
Names {adopters, marketing_spend} minus the record {adopters, imitation} leaves ['marketing_spend']: 2 - 1 = 1 flagged. A narrative citing these quantities is rejected rather than edited.
Use the idea
Reject a narrative that cites unflagged-looking quantities the run never produced, instead of editing it.
Where the conclusion applies
Only names are checked. A name in the record can still be described wrongly, and the check does not read the sentence.
Check your understanding: If the run overrides imitation and total_market and reports adopters, is total_market flagged when the narrative names it?
Chapter 25 source: section "Where AI belongs". Demonstration C25-D04.