CFDL

OpCo

Operating companies: revenue and cost lines, working capital, leverage and an exit.

What it models

A business valued on its cash flow. Revenue and operating cost growing at declared rates, cash taxes, movements in working capital, capital spend, debt drawn and repaid, and an exit at a multiple or a perpetuity.

Contracts

Declare a contract and the pack expands it into the streams those terms imply, each classified so it lands on the right line of a statement.

ContractTerms it readsStreams it emits
opco.revenue_lineamount, amount_year, growth_curve, growth_rateopco.revenue.recurring[.suffix]
opco.opex_lineamount, amount_year, growth_curve, growth_rateopco.opex.recurring[.suffix]
opco.working_capitalamountopco.working_capital.adjustment[.suffix]
opco.exit_multiplebase_value, exit_multipleopco.exit.value
opco.working_capital_policyap_days, ar_days, inv_days, release_at_endopco.working_capital.adjustment[.suffix]
opco.capex_lineamount, amount_year, growth_curve, growth_rate, pct_of_revenueopco.capex[.suffix]
opco.term_debtfunded_at_close, principal, rateopco.debt.proceeds[.suffix], opco.debt.interest[.suffix], opco.debt.principal[.suffix]
opco.cash_taxesda_growth, da_monthly, da_year, tax_rate, tax_rate_curveopco.taxes[.suffix]
opco.exit_ebitdaexit_multiple, selling_costsopco.exit.value
opco.acquisitionpriceopco.acquisition.price[.suffix]
opco.exit_perpetuitybase_value, discount_rate, growth_rate, selling_costsopco.exit.value[.suffix]

A contract can be declared more than once by giving it a suffix, so the pieces stay separable in the results.

Reporting

A free cash flow build-up from revenue through unlevered to levered cash flow, a sponsor view for a leveraged buyout, and a statement of cash flows by activity as ASC 230 and IAS 7 define it.

  • Statements — the pro forma this pack produces
  • Metrics — what it reports over the whole model
  • Validation — the reference models it is gated against