Skip to main content
CFDL

Metrics

A run reports a set of scalars beside its cash flows, and the prefix says who minted each: model.* metrics are computed by the engine for every model; domain.* metrics come from the active pack and are absent without one; and metric.* names a figure the model declared itself — metric <name> = <expr>, evaluated once at the horizon over the finished projection (the valuation plane), folding any series the model publishes. See the metrics guide for the declared form's rules.

Model metrics

model.npv discounts the model's net cash flow at the run's rate, and is published only when the run states a discount rate or a discount series; it follows the run's valuation_grain. model.irr is the rate at which the NPV is zero, solved on the model's own grain whatever the valuation_grain, and is undefined for a series that never changes sign. There is no whole-model multiple: a model states its own through a party, a slice or a declared metric. model.payback_years is when cumulative cash first turns positive, and model.wal_years the weighted average life — when principal actually comes back, which a maturity date does not tell you.

model.total is the undiscounted sum, and model.net_cash_flow the per-period series everything else is derived from.

Metrics and subtotals are not the same thing

A metric is one number for the whole model. A subtotal is a series — one value per period — published under domain.<pack>.<name> in deterministic.series.

Where both exist under the same name, the metric is the reduction of the subtotal: domain.cre.noi in the metrics block is the sum over periods of domain.cre.noi in the series block. That is deliberate — one definition, reduced, rather than two definitions that drift.

A lifetime figure hides the path. A coverage ratio of 1.4 over a hold can contain a year at 0.9, which is why coverage is published per period and read from a statement.

Every domain metric

Generated from each pack's declarations.

energy

MetricKindDefinition
domain.energy.revenuemoney
domain.energy.opexmoney
domain.energy.ebitdamoney
domain.energy.debt_servicemoney
domain.energy.dscrnumber
domain.energy.tax_benefitsmoney

cre

MetricKindDefinition
domain.cre.noimoney
domain.cre.debt_servicemoney
domain.cre.dscrnumber
domain.cre.leasing_costsmoney
domain.cre.expense_rationumber
domain.cre.total_costmoney
domain.cre.equity_contributedmoney
domain.cre.ltcnumber
domain.cre.yield_on_costnumber
domain.cre.cash_on_cash_year_onenumber

credit

MetricKindDefinition
domain.credit.interestmoney
domain.credit.principalmoney
domain.credit.recoveriesmoney
domain.credit.penaltiesmoney
domain.credit.servicingmoney
domain.credit.wal_yearsnumber
domain.credit.collectionsmoney
domain.credit.purchasemoney
domain.credit.collections_multiplenumber

opco

MetricKindDefinition
domain.opco.revenuemoney
domain.opco.ebitdamoney
domain.opco.ebitda_marginnumber
domain.opco.capexmoney
domain.opco.working_capitalmoney
domain.opco.taxesmoney
domain.opco.debt_servicemoney
domain.opco.fcfmoney
domain.opco.fcf_to_debt_servicenumber