← Return to the example · Supporting files

KPI relationship map — working trial 7.4

A native diagnostic for 12 fictional KPI definitions, 23 source fields and five metric-to-metric relationships. Six objective groups organise the dictionary. Infrastructure, passenger-operator, freight-operator and station-user boundaries are explicit. State is local and independent of other trials.

Implemented

Reference checks

Run node --test apps/kpi-map/app.test.mjs. Eight tests check the hand-calculated fixture, unknown/zero-denominator semantics, isolated source edits, seeded findings, relationship-type distinctions, import failures, escaped accessible form controls and hostile presentation extras.

Reference values: asset availability = 930 / 1000 × 100 = 93%; decision waiting = 42 / 7 = 6 days/decision; unowned action count = 3; material reuse = 18 / 60 × 100 = 30%. Evidence freshness is unknown because its numerator is null; entering 15 produces 75%. BVR-K4 has no owner. BVR-KL1 proposes an incompatible percentage-to-days aggregation. BVR-KL4 incorrectly proposes combining passenger and freight ratios with different actors and denominators. Three causal links remain explicitly untested.

Limits and simpler practice

These are scenario-specific metric definitions, not official railway performance measures or a balanced-scorecard recommendation. Compatible-looking units do not establish valid aggregation; no metric-to-metric link combines values. Formula units are checked by stated unit strings and boundary identifiers, not by a general dimensional-analysis engine. Source data is fictional and manually entered; there are no live organisational feeds or causal predictions. A KPI dictionary table may be sufficient; the network adds visibility of assumed relationships. Practical diagnostic usefulness has not been measured.

Graph rendering uses a closed projection of known text fields and computed finite coordinates. Imported fill/style/stroke or extra relationship-label objects are never coerced or copied into SVG.