Transparency is a core value at Salmocast. When we discovered that our forecast track record was displaying incorrect data for W14, we immediately investigated, found the root cause, fixed it, and are now publishing this post to explain exactly what happened.
What Went Wrong
Our track record table was showing a W14 forecast of 97.50 NOK/kg with a 10.3% error and an incorrect direction call. This was wrong. The 97.50 figure was a stale forecast from March 25 — generated before the W13 actual price was even published.
What actually happened: on March 31 (Tuesday), the SISALMONI index published the W13 actual at 91.43 NOK/kg. Our pipeline ingested this and automatically retrained the model. The retrained model updated its W14 estimate to 88.50 NOK/kg — the forecast that was live on the platform when W14 published. The actual came in at 87.49 — just 1.1% off.
The Root Cause
The bug was in how our accuracy pipeline handled model retrains. When the model retrains on Tuesday, it produces a "nowcast" (horizon=0) — an updated estimate for the current week. Our pipeline was explicitly skipping this nowcast when writing to the accuracy tracking database, because it was originally classified as a "live estimate, not a true forecast."
The result: the old pre-retrain forecast stayed in the database even after the model had updated its estimate. When the actual price published, the accuracy comparison ran against the stale number.
The Fix
We added a new step to the forecast pipeline: after every retrain, the nowcast updates the pending accuracy record for the current week. This ensures the track record always reflects the forecast that was actually live on the platform — not a stale prediction from days earlier.
What Changed
- Added
update_forecast_on_retrain()to the accuracy tracker - Pipeline Step 4c now applies the nowcast to pending accuracy rows
- W14 record corrected: 88.50 forecast, 1.1% error, direction correct
- W13 direction also corrected to show as correct
Why We Are Publishing This
We could have quietly fixed the data and moved on. Instead, we are writing about it because our track record is only credible if we are honest about mistakes — including mistakes in how the track record itself is generated. If a number was wrong, you deserve to know why and how we fixed it.
The corrected track record is live now on our Track Record page. Three verified weeks, 100% directional accuracy, 2.7% average error. All pulled live from the database.
