The logical layer that lets a half-migrated group still answer one question consistently — model once, federate the data, generate insights anyway.
SKF can't wait for every factory and the Vertevo cutover to land on one ERP before it gets answers. The fix isn't one warehouse — it's a shared ontology (so everyone means the same thing) over a data mesh (each segment owns its data as a product), with a semantic layer that federates them. Insights generate today; they just carry a confidence flag where a unit isn't on SAP S/4 yet.
Ten classes everything maps to. The Site / Factory is the keystone: it's where segment, leader, entity and region reconcile.
49% of revenue is already site-grain actual; the rest is read in place from legacy site / Vertevo systems and reconciled — no big-bang migration required.
Every metric has one definition and a grain. The layer federates it across on-SAP and legacy domains, flagging where a value is allocated.
| Metric | Definition | Grain | How it federates across segments |
|---|---|---|---|
| Net sales | Σ recognized net sales | site · order | actuals where on SAP S/4; allocated from area where not |
| Adjusted operating profit | net sales − COGS − opex (+ IAC add-backs) | segment · entity | entity P&L normalized to one chart of accounts |
| Aftermarket & services revenue | distribution / kits / REP / lubrication | contract | from SAP SD / condition-monitoring cloud across segments |
| Aftermarket mix | aftermarket ÷ net sales | segment | federated — same formula, many sources |
| DSO | AR ÷ net sales × 365 | entity · site | Vertevo / legacy entities measured at area grain, flagged |
| Gross margin | (net sales − COGS) ÷ net sales | order · segment | mapped via canonical cost categories |
| Net revenue retention | expansion − attrition on base | customer / channel | resolved across duplicate customer records |
Entity resolution matches site / segment / entity codes (SAP, distributor EDI, the Vertevo ERP) to one canonical node — so the Vertevo data lines up with everything else.
Query reads each segment's data product in place; the semantic layer maps native SAP / plant-MES / condition-monitoring fields to canonical metrics.
Where a unit reports at area level, allocation disaggregates to site on learned drivers and marks it an estimate with a confidence band.
Allocated parts must tie back to the source total; anomalies and duplicate customer records & suppliers across segments are surfaced.
This is not theoretical — it's how this cockpit already works. The Story, Briefing and 360 views read the same governed metrics over on-SAP and legacy segments alike; 49% of the numbers are site-grain actuals and the balance is SAP-allocated and labelled. As each unit migrates to SAP S/4, its data product's grain rises and estimates flip to actuals — the mesh closes itself.