← Course home

Sprint 9A: How wrong were we?

Sprint 9 comes in two parts: Sprint 9A and Sprint 9B. Sprint 9A (this brief) runs from Mon 2 Nov to Sat 7 Nov. Sprint 9B will be released over the weekend of 7–8 Nov, based on where each team stands after Sprint 9A. Mon 9 Nov is a public holiday, so there is no presentation between the two parts. Instead, your progress is shown on the new Scrum Scoreboard, linked from the course home page from Wed 4 Nov.

Sprint 9A goal: by Saturday, every team can show, with real numbers, how accurate its past predictions were, and has written down what it will change. In Sprint 9B you will put that change to the test.

The idea in one minute

Every week since Sprint 4 your team has locked a prediction for where SPX, NDX, gold and the 10-year yield (TNX) would close on Friday. Those predictions are sitting in your repo, and nobody has checked them yet.

Think of a weather forecaster. Making forecasts is only half the job. The other half is looking back: "I said 30 degrees, it was 26. I keep forecasting too hot. Why? What do I change?" A forecaster who never looks back never improves.

StepPlain meaningExample
Check the error (Sprint 9A, Deep Dive Stage 6)How far was our prediction from what actually happened?We said SPX would close at 7,750. It closed at 7,580. We were 2.2% too high.
Fix the method (decide in Sprint 9A, test in Sprint 9B, Deep Dive Stage 7)Given that error, what do we change?We were too high three weeks in a row, so next time we start from Thursday's close instead of last week's level.

Where Sprint 9 fits: the Architecture Deep Dive

The Architecture Deep Dive shown in class walks through the whole system in nine stages. Sprint 9 is where your team moves from the first half of that system into the second.

Deep Dive stagesWhat it meansWhere you are
Phase 1, Stages 1–5: Data Sources → Agent Analysis → LLM Synthesis → Human Score → Locked PredictionGather data, analyse it, make a call, and lock it before the week plays out.What you have been doing since Sprint 4: data scripts, the gold technical engine and a locked weekly prediction.
Phase 2, Stage 6: Delta MeasurementCompare each locked prediction with what actually happened. In Scrum terms, this is the Sprint Review.Sprint 9A, milestones 3–5: your error table and charts.
Phase 2, Stage 7: PrescriptionsDecide what to change because of the error. In Scrum terms, this is the Retrospective action item.Sprint 9A, milestone 6: what went wrong and what you will change.
Back to Stage 2The change goes back into how the next prediction is made. This closes the loop.Sprint 9B: test your change on the next locked prediction.

To see it: open the Deep Dive and click Next ▶ until Stage 6 (Delta Measurement) and Stage 7 (Prescriptions). That is what your team builds this week, using your own predictions.

Sprint 9A: your six milestones

Each milestone is one item in a fixed place by a fixed time. The Scrum Scoreboard shows every team's result publicly, and that includes your actual work, not just a tick.

Deadline (SGT)MilestoneWhereOwner
Tue 3 Nov, 23:591. Sprint 9 backlogYour team's section of the shared FigJam boardR1
Wed 4 Nov, 23:592. vW9 predictionpredictions/vW9.jsonR2, R3, R4, R6 (one instrument each); R1 locks
Wed 4 Nov, 23:593. Old predictions in one tabledata/old_predictions.csvR4
Sat 7 Nov, 23:594. Error table, made by a scriptengine/check_error.py and data/errors.csvR4 (script), R6 (download)
Sat 7 Nov, 23:595. Error chartsui/index.htmlR5
Sat 7 Nov, 23:596. What went wrongdocs/what_went_wrong.mdR2, R3, R4, R6 (one instrument each)

1. Sprint 9 backlog (FigJam)

In your team's section of the shared board, add one card for each of milestones 2 to 6. Each card names its owner and gives one line saying what "done" means. Move the cards as the work progresses. Use the shared board only; copies of the board don't count.

2. vW9 prediction

From now on, every team writes its prediction in exactly this format: numbers only, no % signs, and no actual closes in the file.

predictions/vW9.json
{
  "week": "vW9",
  "target_date": "2026-11-06",
  "SPX": 7600,
  "NDX": 28500,
  "GOLD": 3920,
  "TNX": 4.95
}

GOLD means the December 2026 gold future. TNX is the yield in percent (4.95 means 4.95%).

3. Old predictions in one table

Copy your vW4 to vW8 numbers from your old prediction files into one table. Don't edit the old files themselves.

data/old_predictions.csv
week,target_date,SPX,NDX,GOLD,TNX,source_file
vW8,2026-10-30,7750,29800,4150,4.99,predictions/vW8.json

If a week had no number for an instrument, leave that cell blank. For example, gold was a direction call before vW6, and TNX started in vW5.

4. Error table, made by a script

Write engine/check_error.py. It reads old_predictions.csv and vW9.json, downloads each actual Friday close from Yahoo Finance, and writes data/errors.csv:

week,target_date,instrument,predicted,actual,error,unit
vW8,2026-10-30,SPX,7750,7580.07,2.24,pct
vW8,2026-10-30,TNX,4.99,4.929,6.1,bp

5. Error charts

On your team page, show one chart per instrument: the error each week, with a line at zero and the Friday dates along the bottom. Above the line means too high; below means too low. One look should show whether your team keeps making the same mistake.

6. What went wrong

In docs/what_went_wrong.md, each instrument's owner writes one short paragraph covering three points:

How results are shown

Who does what

RoleSprint 9A
R1 Product Owner & Scrum MasterSprint 9 backlog on FigJam (milestone 1). Locks the vW9 prediction. Keeps the cards moving.
R2 Almanac & MacroSPX: vW9 number and its paragraph in milestone 6.
R3 Technical & EconomicNDX: vW9 number and its paragraph in milestone 6.
R4 Data & CalibrationOld predictions table (3) and check_error.py (4). Gold: vW9 number and its paragraph.
R5 Human Score & UIError charts on the team page (5).
R6 LLM & GitHubYahoo download inside the script (4). Merges every branch into main on time. TNX: vW9 number and its paragraph.

Your dashboard is not hosted anywhere. It runs on your laptop with the local server, as in the Sprint 7 brief.