A driver is one row of the grid, and it holds one formula for each phase of the model.
A driver is a named quantity the model computes. It is one row of the grid, and it is computed at every slice and every step.
A phase is a run of consecutive steps. The model says where each phase starts and ends. Phases are ordered, they do not overlap, and together they cover every step.
Every driver holds one formula for each phase. A model with a recorded phase and a projected phase gives each driver two formulas, even where the two are the same text.
phases recorded 2024-01 .. 2024-03
projected 2024-04 .. 2024-05
driver Invoices recorded COUNT(invoices)
projected Invoices[x=-1]
driver Revenue recorded SUM(invoices.amount)
projected Revenue[x=-1] * scenario.growthLast actual is a name for the phase boundary where the recorded data ends. It moves as new data arrives, so a model that reads a synced table projects from the newest month without an edit.
Phase names are free text. Calcbird does not read them, so budget, forecast, and plan all work the same way.