The logical layer that lets a half-migrated roll-up still answer one question consistently — model once, federate the data, generate insights anyway.
TTIPL can't wait for every service centre and JV to migrate onto SAP / Toyota-group EDI 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 division owns its data as a product), with a semantic layer that federates them. Insights generate today; they just carry a confidence flag where a division isn't on SAP yet.
Ten classes everything maps to. The Service centre / Site is the keystone: it's where division, leader, entity and geography reconcile.
72% of revenue is already site-grain actual; the rest is read in place from legacy site / JV 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 |
|---|---|---|---|
| Revenue | Σ recognized revenue | site · order | actuals where on SAP / EDI; allocated from area where not |
| EBITDA | revenue − cost of traded goods − opex | division · entity | entity P&L normalized to one chart of accounts |
| Recurring / anchor supply revenue | contracted Toyota-group / OEM supply | contract | from SAP SD / EDI-JIT across all divisions |
| Recurring mix | recurring ÷ revenue | division | federated — same formula, many sources |
| Debtor days (DSO) | AR ÷ revenue × 365 | entity · site | legacy / JV entities measured at area grain, flagged |
| Trading margin | (revenue − cost of traded goods) ÷ revenue | order · division | mapped via canonical cost categories |
| Revenue retention | expansion − attrition on base | customer / OEM | resolved across duplicate customer records |
Entity resolution matches legacy site / division / group-company codes to one canonical node — so the TREI / recycling data lines up with everything else.
Query reads each division's data product in place; the semantic layer maps native SAP / EDI-JIT / MES fields to canonical metrics.
Where a division 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 / OEM records & suppliers across divisions 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 divisions alike; 72% of the numbers are site-grain actuals and the balance is SAP-allocated and labelled. As each division migrates to SAP / EDI, its data product's grain rises and estimates flip to actuals — the mesh closes itself.