# DriverModel

> The inputs a forecast is built from, and what they produce.

Source: https://lopifi.com/components/driver-model
Part of: Lopifi — US GAAP books on autopilot, reviewed by a CPA (https://lopifi.com)

---

- **Family:** Metrics & analysis — ---
- **Status:** Implemented
- **Spec:** https://lopifi.com/docs/catalog/13-metrics-and-analysis

## Install

```bash
npx shadcn@latest add @lopifi/theme
npx shadcn@latest add @lopifi/driver-model
```

## Specification

The inputs a forecast is built from and the outputs they produce, in one grid with the boundary
between them visible. Three separations carry it: actual from projection, input from output, and
assumption from arithmetic.

Inputs are typed; outputs carry the ƒ mark and their formula. A model where you cannot tell which
is which is a model where nobody can find the assumption that moved the answer.

Only **projected inputs** accept editing. An actual is what the ledger posted, and a model that
lets you type over it will eventually be used to explain a month that never happened.

The named assumptions sit under the grid in words — "new logos hold at 14 a month" — because that
is the sentence someone can disagree with, and disagreement is the point of a forecast review.
A growth rate buried three rows into a projected column is not.

## Rules this component obeys

Money is minor units, never floats. `null` is not `0` and neither is redacted. Negatives render in accounting parentheses with the parenthesis column reserved on both sides. Debit and credit are two columns. Per-currency decimal places. Polarity is explicit — up is not always good. Every figure states its period, entity, currency, basis and as-of.
