Start with the decision and reporting grain

For a monthly operating review, a company-month is a useful output grain. Source transactions can stay more detailed. Record the legal entity, source system, period end, reporting currency, and mapping version before consolidating. A location-level table and a company-level table cannot be added together without checking whether the location amounts are already included.

Keep balance-sheet snapshots separate from period activity. Revenue and EBITDA can sum across a quarter; closing working capital is a point-in-time balance. If a company uses a different fiscal calendar, agree a comparable calendar or visibly label the mismatch. Do not quietly compare a four-week period with a five-week period.

Write a KPI contract that survives a staff change

Use one short record per metric. The finance owner supplies the business definition; the data team records how it is implemented. Both should be able to inspect the sign convention, exclusions, adjustment policy, and source-to-output reconciliation. Change the mapping version when an account or definition changes, and retain the previous version for reproducibility.

Reusable KPI definition record
FieldExample for reported EBITDA
Grain and periodCompany × calendar month; closed periods only
Currency and unitUSD, whole dollars; translation method recorded separately
CalculationRevenue less operating expenses before interest, taxes, depreciation and amortization
AdjustmentsSeparate adjustment ledger; no automatic add-backs
Owner and evidenceCompany controller; approved trial balance and mapping version
Release checkTie source totals, mapped totals, and approved pack; resolve material differences

Worked example: why averaging margins fails

Consider two fictional companies with the same reporting period and currency. Company A earns $2 million of EBITDA on $10 million of revenue; Company B earns $1 million on $20 million. Their margins are 20% and 5%. Averaging the two percentages produces 12.5%, but that is not the consolidated margin.

Add the monetary inputs first: $3 million EBITDA divided by $30 million revenue gives 10%. The larger, lower-margin company carries more weight. Keep company margins available for diagnosis, but calculate a portfolio ratio from the aggregated numerator and denominator. A zero revenue denominator should display as unavailable, not as a fabricated 0% margin.

Synthetic margin reconciliation: USD millions
EntityRevenueEBITDAMargin
Company A10220%
Company B2015%
Consolidated30310%

Make different accounts comparable without erasing their history

Map each source account to a reporting category using the company, source account, effective dates, and mapping version. The same code can mean different things in different systems. Retain an unmapped-account report, and fail the release check when a material account has no approved treatment.

Reported EBITDA and adjusted EBITDA need separate labels and calculations. Retain the original result, each proposed adjustment, its explanation, and the approval. Otherwise the operating team cannot tell whether a change reflects business performance or a revised definition. The public portfolio demo deliberately uses reported EBITDA and one currency to make the aggregation easy to inspect.

  • Confirm entity and period coverage before comparing companies.
  • Reconcile source totals before and after mapping.
  • Test duplicate keys, sign errors, unmapped accounts, and zero denominators.
  • Reproduce the prior approved pack with its original mapping version.
  • Publish open issues alongside the result and assign a resolution owner.

Primary sources

Related services and experience

Need help with this system?

Use your current reporting process to define the source, calculation, or review problem and a bounded first engagement.

Discuss portfolio reporting