When the CRO's forecast misses by 20% three quarters in a row, everyone wants to fix the forecast model.
That's almost always the wrong fix.
The forecast model is Layer 4. The bug is almost always in Layer 2 (data model) or Layer 1 (source stack). Common patterns:
- ARR is double-counted because two custom objects both store it
- Stripe and HubSpot don't agree because the integration drops fields silently
- Lifecycle stages don't have entry criteria, so deals jump backwards
Fix the layer below first. The forecast model is downstream.