@theromans/convex-dobty 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +24 -0
  2. package/dist/client/index.d.ts +287 -0
  3. package/dist/client/index.d.ts.map +1 -0
  4. package/dist/client/index.js +215 -0
  5. package/dist/client/index.js.map +1 -0
  6. package/dist/component/_generated/api.d.ts +23 -0
  7. package/dist/component/_generated/api.d.ts.map +1 -0
  8. package/dist/component/_generated/api.js +15 -0
  9. package/dist/component/_generated/api.js.map +1 -0
  10. package/dist/component/_generated/dataModel.d.ts +28 -0
  11. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  12. package/dist/component/_generated/dataModel.js +11 -0
  13. package/dist/component/_generated/dataModel.js.map +1 -0
  14. package/dist/component/_generated/server.d.ts +23 -0
  15. package/dist/component/_generated/server.d.ts.map +1 -0
  16. package/dist/component/_generated/server.js +18 -0
  17. package/dist/component/_generated/server.js.map +1 -0
  18. package/dist/component/assessment.d.ts +141 -0
  19. package/dist/component/assessment.d.ts.map +1 -0
  20. package/dist/component/assessment.js +498 -0
  21. package/dist/component/assessment.js.map +1 -0
  22. package/dist/component/convex.config.d.ts +3 -0
  23. package/dist/component/convex.config.d.ts.map +1 -0
  24. package/dist/component/convex.config.js +3 -0
  25. package/dist/component/convex.config.js.map +1 -0
  26. package/dist/component/metrics.d.ts +145 -0
  27. package/dist/component/metrics.d.ts.map +1 -0
  28. package/dist/component/metrics.js +425 -0
  29. package/dist/component/metrics.js.map +1 -0
  30. package/dist/component/potentialAnalysis.d.ts +510 -0
  31. package/dist/component/potentialAnalysis.d.ts.map +1 -0
  32. package/dist/component/potentialAnalysis.js +1035 -0
  33. package/dist/component/potentialAnalysis.js.map +1 -0
  34. package/dist/component/schema.d.ts +342 -0
  35. package/dist/component/schema.d.ts.map +1 -0
  36. package/dist/component/schema.js +194 -0
  37. package/dist/component/schema.js.map +1 -0
  38. package/dist/component/scoring.d.ts +6 -0
  39. package/dist/component/scoring.d.ts.map +1 -0
  40. package/dist/component/scoring.js +394 -0
  41. package/dist/component/scoring.js.map +1 -0
  42. package/dist/data/dm/cvr.d.ts +12 -0
  43. package/dist/data/dm/cvr.d.ts.map +1 -0
  44. package/dist/data/dm/cvr.js +71 -0
  45. package/dist/data/dm/cvr.js.map +1 -0
  46. package/dist/data/dm/guidelines.d.ts +9 -0
  47. package/dist/data/dm/guidelines.d.ts.map +1 -0
  48. package/dist/data/dm/guidelines.js +22 -0
  49. package/dist/data/dm/guidelines.js.map +1 -0
  50. package/dist/data/dm/methods.d.ts +10 -0
  51. package/dist/data/dm/methods.d.ts.map +1 -0
  52. package/dist/data/dm/methods.js +50 -0
  53. package/dist/data/dm/methods.js.map +1 -0
  54. package/dist/data/dm/systems.d.ts +10 -0
  55. package/dist/data/dm/systems.d.ts.map +1 -0
  56. package/dist/data/dm/systems.js +52 -0
  57. package/dist/data/dm/systems.js.map +1 -0
  58. package/dist/data/domains.d.ts +20 -0
  59. package/dist/data/domains.d.ts.map +1 -0
  60. package/dist/data/domains.js +264 -0
  61. package/dist/data/domains.js.map +1 -0
  62. package/dist/data/ek/cvr.d.ts +12 -0
  63. package/dist/data/ek/cvr.d.ts.map +1 -0
  64. package/dist/data/ek/cvr.js +58 -0
  65. package/dist/data/ek/cvr.js.map +1 -0
  66. package/dist/data/ek/guidelines.d.ts +9 -0
  67. package/dist/data/ek/guidelines.d.ts.map +1 -0
  68. package/dist/data/ek/guidelines.js +26 -0
  69. package/dist/data/ek/guidelines.js.map +1 -0
  70. package/dist/data/ek/methods.d.ts +9 -0
  71. package/dist/data/ek/methods.d.ts.map +1 -0
  72. package/dist/data/ek/methods.js +35 -0
  73. package/dist/data/ek/methods.js.map +1 -0
  74. package/dist/data/ek/systems.d.ts +9 -0
  75. package/dist/data/ek/systems.d.ts.map +1 -0
  76. package/dist/data/ek/systems.js +23 -0
  77. package/dist/data/ek/systems.js.map +1 -0
  78. package/dist/data/influence-areas.d.ts +26 -0
  79. package/dist/data/influence-areas.d.ts.map +1 -0
  80. package/dist/data/influence-areas.js +143 -0
  81. package/dist/data/influence-areas.js.map +1 -0
  82. package/dist/data/km/cvr.d.ts +13 -0
  83. package/dist/data/km/cvr.d.ts.map +1 -0
  84. package/dist/data/km/cvr.js +65 -0
  85. package/dist/data/km/cvr.js.map +1 -0
  86. package/dist/data/km/guidelines.d.ts +9 -0
  87. package/dist/data/km/guidelines.d.ts.map +1 -0
  88. package/dist/data/km/guidelines.js +20 -0
  89. package/dist/data/km/guidelines.js.map +1 -0
  90. package/dist/data/km/methods.d.ts +9 -0
  91. package/dist/data/km/methods.d.ts.map +1 -0
  92. package/dist/data/km/methods.js +28 -0
  93. package/dist/data/km/methods.js.map +1 -0
  94. package/dist/data/km/systems.d.ts +9 -0
  95. package/dist/data/km/systems.d.ts.map +1 -0
  96. package/dist/data/km/systems.js +18 -0
  97. package/dist/data/km/systems.js.map +1 -0
  98. package/dist/data/stammdaten.d.ts +7 -0
  99. package/dist/data/stammdaten.d.ts.map +1 -0
  100. package/dist/data/stammdaten.js +94 -0
  101. package/dist/data/stammdaten.js.map +1 -0
  102. package/dist/data/types.d.ts +113 -0
  103. package/dist/data/types.d.ts.map +1 -0
  104. package/dist/data/types.js +23 -0
  105. package/dist/data/types.js.map +1 -0
  106. package/package.json +38 -0
  107. package/src/client/index.ts +442 -0
  108. package/src/component/_generated/api.ts +35 -0
  109. package/src/component/_generated/component.ts +50 -0
  110. package/src/component/_generated/dataModel.ts +42 -0
  111. package/src/component/_generated/server.ts +48 -0
  112. package/src/component/assessment.ts +536 -0
  113. package/src/component/convex.config.ts +3 -0
  114. package/src/component/metrics.ts +479 -0
  115. package/src/component/potentialAnalysis.ts +1118 -0
  116. package/src/component/schema.ts +209 -0
  117. package/src/component/scoring.ts +485 -0
  118. package/src/data/dm/cvr.ts +75 -0
  119. package/src/data/dm/guidelines.ts +24 -0
  120. package/src/data/dm/methods.ts +53 -0
  121. package/src/data/dm/systems.ts +55 -0
  122. package/src/data/domains.ts +275 -0
  123. package/src/data/ek/cvr.ts +62 -0
  124. package/src/data/ek/guidelines.ts +28 -0
  125. package/src/data/ek/methods.ts +39 -0
  126. package/src/data/ek/systems.ts +25 -0
  127. package/src/data/influence-areas.ts +162 -0
  128. package/src/data/km/cvr.ts +69 -0
  129. package/src/data/km/guidelines.ts +22 -0
  130. package/src/data/km/methods.ts +30 -0
  131. package/src/data/km/systems.ts +20 -0
  132. package/src/data/stammdaten.ts +96 -0
  133. package/src/data/types.ts +183 -0
@@ -0,0 +1,39 @@
1
+ /**
2
+ * EK (Einkauf) Methods — 23 items (9 NPM, 9 PM, 5 both).
3
+ * Source: Excellence_Rating_Master 2 (Excel)
4
+ * Weights: [Organisationsverankert, Prozessverankert, Systemverankert]
5
+ * Complexity: [Commodity, Special, Big, Complex]
6
+ */
7
+
8
+ import type { ItemDef } from "../types.js";
9
+
10
+ export const EK_METHODS: ItemDef[] = [
11
+ // ── NPM Methods (9) ──
12
+ { key: "ek_npm_katalogmanagement", label: "NPM Katalogmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 1, 3], complexityRelevance: [1, 1, 1, 1], pmNpm: "npm", sortOrder: 1 },
13
+ { key: "ek_npm_warengruppenmanagement", label: "NPM Warengruppenmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [2, 3, 3], complexityRelevance: [2, 2, 2, 2], pmNpm: "npm", sortOrder: 2 },
14
+ { key: "ek_npm_edi", label: "NPM EDI / WEBEDI", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 1, 3], complexityRelevance: [3, 2, 3, 3], pmNpm: "npm", sortOrder: 3 },
15
+ { key: "ek_npm_bestellwesen", label: "NPM Bestellwesen / BANF Optimierung", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 1, 3], complexityRelevance: [3, 3, 3, 3], pmNpm: "npm", sortOrder: 4 },
16
+ { key: "ek_npm_lieferantenmanagement", label: "NPM Lieferantenmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 3, 3], complexityRelevance: [3, 3, 3, 3], pmNpm: "npm", sortOrder: 5 },
17
+ { key: "ek_npm_vertragsmanagement", label: "NPM Vertragsmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [2, 2, 3], complexityRelevance: [2, 2, 2, 2], pmNpm: "npm", sortOrder: 6 },
18
+ { key: "ek_npm_spendmanagement", label: "NPM Spendmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 2, 3], complexityRelevance: [3, 1, 2, 3], pmNpm: "npm", sortOrder: 7 },
19
+ { key: "ek_npm_vergabemanagement", label: "NPM Vergabemanagement (E-Bidding, Auktionen, Verhandlungstechniken Cost Break Down)", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 2, 3], complexityRelevance: [3, 1, 3, 3], pmNpm: "npm", sortOrder: 8 },
20
+ { key: "ek_npm_qualitaetsmanagement", label: "NPM Qualitätsmanagement / Rating", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 1, 2], complexityRelevance: [1, 1, 2, 3], pmNpm: "npm", sortOrder: 9 },
21
+
22
+ // ── Both PM+NPM Methods (5) ──
23
+ { key: "ek_massnahmenmanagement", label: "EK Maßnahmenmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 2, 3], complexityRelevance: [3, 3, 3, 3], pmNpm: "both", sortOrder: 10 },
24
+ { key: "ek_risikomanagement", label: "Risikomanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 2, 3], complexityRelevance: [2, 1, 3, 3], pmNpm: "both", sortOrder: 20 },
25
+ { key: "ek_qualitaetsmanagement", label: "Qualitätsmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 2, 3], complexityRelevance: [1, 2, 3, 3], pmNpm: "both", sortOrder: 21 },
26
+ { key: "ek_wertanalyse_einkaufspreis", label: "Wertanalyse Einkaufspreisanalyse", dimension: "ek_methoden", domain: "EK", category: "method", weights: [2, 3, 3], complexityRelevance: [1, 0, 0, 3], pmNpm: "both", sortOrder: 22 },
27
+ { key: "ek_wertanalyse_gemeinkosten", label: "Wertanalyse: Gemeinkostenanalyse", dimension: "ek_methoden", domain: "EK", category: "method", weights: [3, 2, 1], complexityRelevance: [1, 1, 1, 2], pmNpm: "both", sortOrder: 23 },
28
+
29
+ // ── PM Methods (9) ──
30
+ { key: "ek_pm_warengruppenmanagement", label: "PM Warengruppenmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [2, 3, 3], complexityRelevance: [3, 2, 3, 3], pmNpm: "pm", sortOrder: 11 },
31
+ { key: "ek_pm_edi", label: "PM EDI / WEBEDI / AVIS", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 1, 3], complexityRelevance: [3, 2, 3, 3], pmNpm: "pm", sortOrder: 12 },
32
+ { key: "ek_pm_spendmanagement", label: "PM Spendmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 2, 3], complexityRelevance: [3, 2, 3, 3], pmNpm: "pm", sortOrder: 13 },
33
+ { key: "ek_pm_banf", label: "PM BANF Optimierung", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 1, 3], complexityRelevance: [3, 1, 1, 2], pmNpm: "pm", sortOrder: 14 },
34
+ { key: "ek_pm_vergabemanagement", label: "PM Vergabemanagement (E-Bidding, Auktionen, Verhandlungstechniken Cost Break Down)", dimension: "ek_methoden", domain: "EK", category: "method", weights: [2, 3, 3], complexityRelevance: [1, 2, 3, 3], pmNpm: "pm", sortOrder: 15 },
35
+ { key: "ek_pm_qualitaetsmanagement", label: "PM Qualitätsmanagement / Rating", dimension: "ek_methoden", domain: "EK", category: "method", weights: [1, 1, 3], complexityRelevance: [1, 2, 3, 3], pmNpm: "pm", sortOrder: 16 },
36
+ { key: "ek_pm_lieferantenmanagement", label: "PM Lieferantenmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [2, 3, 3], complexityRelevance: [3, 1, 3, 3], pmNpm: "pm", sortOrder: 17 },
37
+ { key: "ek_pm_vertragsmanagement", label: "PM Vertragsmanagement", dimension: "ek_methoden", domain: "EK", category: "method", weights: [2, 3, 3], complexityRelevance: [3, 3, 3, 3], pmNpm: "pm", sortOrder: 18 },
38
+ { key: "ek_pm_projekteinkauf", label: "Projekteinkauf", dimension: "ek_methoden", domain: "EK", category: "method", weights: [3, 3, 3], complexityRelevance: [3, 1, 3, 3], pmNpm: "pm", sortOrder: 19 },
39
+ ];
@@ -0,0 +1,25 @@
1
+ /**
2
+ * EK (Einkauf) Systems — 14 items.
3
+ * Source: Excellence_Rating_Master 2 (Excel)
4
+ * Weights: [vereinzelt im Einsatz, überall verankert, überall im gleichen System verankert]
5
+ * Complexity: [Commodity, Special, Big, Complex]
6
+ */
7
+
8
+ import type { ItemDef } from "../types.js";
9
+
10
+ export const EK_SYSTEMS: ItemDef[] = [
11
+ { key: "ek_sys_strategie", label: "Strategie", labelEn: "Strategy", dimension: "ek_systeme", domain: "EK", category: "system", weights: [0, 0, 3], complexityRelevance: [3, 1, 2, 3], pmNpm: "both", sortOrder: 1 },
12
+ { key: "ek_sys_srm", label: "SRM", labelEn: "Supplier Relationship Management", dimension: "ek_systeme", domain: "EK", category: "system", weights: [0, 1, 3], complexityRelevance: [3, 2, 2, 3], pmNpm: "both", sortOrder: 2 },
13
+ { key: "ek_sys_scm", label: "SCM", labelEn: "Supply Chain Management", dimension: "ek_systeme", domain: "EK", category: "system", weights: [1, 3, 0], complexityRelevance: [3, 1, 2, 3], pmNpm: "both", sortOrder: 3 },
14
+ { key: "ek_sys_e_procurement", label: "eProcurement Catalog (Shoppingportal)", labelEn: "eProcurement Catalog", dimension: "ek_systeme", domain: "EK", category: "system", weights: [1, 2, 3], complexityRelevance: [3, 2, 2, 3], pmNpm: "npm", sortOrder: 4 },
15
+ { key: "ek_sys_projektmanagement", label: "Projektmanagement", labelEn: "Project Management", dimension: "ek_systeme", domain: "EK", category: "system", weights: [1, 2, 3], complexityRelevance: [2, 3, 3, 3], pmNpm: "both", sortOrder: 5 },
16
+ { key: "ek_sys_ausschreibungen", label: "Ausschreibungen", labelEn: "Tenders", dimension: "ek_systeme", domain: "EK", category: "system", weights: [3, 2, 3], complexityRelevance: [1, 1, 1, 3], pmNpm: "both", sortOrder: 6 },
17
+ { key: "ek_sys_massnahmenverfolgung", label: "Maßnahmenverfolgung", labelEn: "Action Tracking", dimension: "ek_systeme", domain: "EK", category: "system", weights: [1, 2, 3], complexityRelevance: [3, 3, 3, 3], pmNpm: "both", sortOrder: 7 },
18
+ { key: "ek_sys_reporting", label: "Reporting, System zur Abbildung von Kennzahlen und KPI inkl. Drilldown und Analysen", labelEn: "Reporting & KPI System", dimension: "ek_systeme", domain: "EK", category: "system", weights: [2, 3, 3], complexityRelevance: [3, 3, 3, 3], pmNpm: "both", sortOrder: 8 },
19
+ { key: "ek_sys_vertragsmanagement", label: "Vertragsmanagement", labelEn: "Contract Management", dimension: "ek_systeme", domain: "EK", category: "system", weights: [0, 1, 3], complexityRelevance: [3, 3, 3, 3], pmNpm: "both", sortOrder: 9 },
20
+ { key: "ek_sys_qualitaetsmanagement", label: "Qualitätsmanagement", labelEn: "Quality Management", dimension: "ek_systeme", domain: "EK", category: "system", weights: [1, 2, 3], complexityRelevance: [1, 1, 3, 3], pmNpm: "both", sortOrder: 10 },
21
+ { key: "ek_sys_auditmanagement", label: "Auditmanagement", labelEn: "Audit Management", dimension: "ek_systeme", domain: "EK", category: "system", weights: [0, 1, 1], complexityRelevance: [1, 1, 3, 2], pmNpm: "both", sortOrder: 11 },
22
+ { key: "ek_sys_risikomanagement", label: "Risikomanagement", labelEn: "Risk Management", dimension: "ek_systeme", domain: "EK", category: "system", weights: [1, 3, 3], complexityRelevance: [3, 3, 3, 3], pmNpm: "both", sortOrder: 12 },
23
+ { key: "ek_sys_kostenstrukturanalyse", label: "System zur Analyse von Kostenstrukturen mit unterschiedlichen Datenquellen und Dimensionen, Methoden zum Kostenverständnis und Potentialanalyse", labelEn: "Cost Structure Analysis System", dimension: "ek_systeme", domain: "EK", category: "system", weights: [3, 2, 3], complexityRelevance: [1, 1, 1, 3], pmNpm: "both", sortOrder: 13 },
24
+ { key: "ek_sys_erp", label: "ERP - Materialmanagement", labelEn: "ERP - Material Management", dimension: "ek_systeme", domain: "EK", category: "system", weights: [1, 2, 3], complexityRelevance: [3, 3, 3, 3], pmNpm: "both", sortOrder: 14 },
25
+ ];
@@ -0,0 +1,162 @@
1
+ /**
2
+ * 5DoBT Influence Area Sub-Areas — 82 total across 5 dimensions.
3
+ * Source: 5dobt-potential-analysis/spec.md (FR-D-PA.3)
4
+ */
5
+
6
+ export type DobtDimension = "sales" | "efficiency" | "direct_cost" | "risk" | "innovation";
7
+
8
+ export interface InfluenceSubArea {
9
+ key: string;
10
+ label: string;
11
+ labelEn?: string;
12
+ dimension: DobtDimension;
13
+ }
14
+
15
+ export interface DobtDimensionDef {
16
+ key: DobtDimension;
17
+ label: string;
18
+ labelEn: string;
19
+ description: string;
20
+ subAreas: InfluenceSubArea[];
21
+ }
22
+
23
+ export const DOBT_DIMENSIONS: DobtDimensionDef[] = [
24
+ {
25
+ key: "sales",
26
+ label: "Umsatzsteigerung",
27
+ labelEn: "Sales Growth",
28
+ description: "Alle Maßnahmen zur nachhaltigen Umsatzsteigerung.",
29
+ subAreas: [
30
+ { key: "kundenfokus", label: "Kundenfokus", dimension: "sales" },
31
+ { key: "kundenbindung", label: "Kundenbindung", dimension: "sales" },
32
+ { key: "absatzmaerkte", label: "Absatzmärkte", dimension: "sales" },
33
+ { key: "absatzwege", label: "Absatzwege", dimension: "sales" },
34
+ { key: "angebotserweiterungen", label: "Angebotserweiterungen", dimension: "sales" },
35
+ { key: "strategische_partnerschaften", label: "Strategische Partnerschaften", dimension: "sales" },
36
+ { key: "abrechnungsmodelle", label: "Abrechnungsmodelle", dimension: "sales" },
37
+ { key: "bekanntheitsgrad", label: "Bekanntheitsgrad", dimension: "sales" },
38
+ { key: "produkt_unternehmensimage", label: "Produkt- & Unternehmensimage", dimension: "sales" },
39
+ { key: "vernetzung_zum_kunden", label: "Vernetzung zum Kunden", dimension: "sales" },
40
+ { key: "geschaeftsmodelle", label: "Geschäftsmodelle", dimension: "sales" },
41
+ { key: "portfoliomanagement", label: "Portfoliomanagement", dimension: "sales" },
42
+ { key: "preisanpassungen", label: "Preisanpassungen", dimension: "sales" },
43
+ { key: "komplexitaetsminderung", label: "Komplexitätsminderung", dimension: "sales" },
44
+ { key: "beteiligungsmodelle", label: "Beteiligungsmodelle", dimension: "sales" },
45
+ { key: "risikoverteilung", label: "Risikoverteilung", dimension: "sales" },
46
+ ],
47
+ },
48
+ {
49
+ key: "efficiency",
50
+ label: "Effizienzsteigerung",
51
+ labelEn: "Efficiency Improvement",
52
+ description: "Optimierung der Unternehmensprozesse für Transparenz, Messbarkeit und Vergleichbarkeit.",
53
+ subAreas: [
54
+ { key: "kompetenz", label: "Kompetenz", dimension: "efficiency" },
55
+ { key: "standards", label: "Standards", dimension: "efficiency" },
56
+ { key: "betriebsklima_wertschaetzung", label: "Betriebsklima / Wertschätzung", dimension: "efficiency" },
57
+ { key: "personaleinsatz", label: "Personaleinsatz", dimension: "efficiency" },
58
+ { key: "motivation", label: "Motivation", dimension: "efficiency" },
59
+ { key: "prozessoptimierung", label: "Prozessoptimierung", dimension: "efficiency" },
60
+ { key: "schnittstellenoptimierung", label: "Schnittstellenoptimierung", dimension: "efficiency" },
61
+ { key: "komplexitaetsminderung", label: "Komplexitätsminderung", dimension: "efficiency" },
62
+ { key: "transparenz_benchmark", label: "Transparenz & Benchmark", dimension: "efficiency" },
63
+ { key: "kommunikation", label: "Kommunikation", dimension: "efficiency" },
64
+ { key: "entscheidungsfaehigkeit", label: "Entscheidungsfähigkeit", dimension: "efficiency" },
65
+ { key: "auslagerung", label: "Auslagerung", dimension: "efficiency" },
66
+ { key: "fehlerkultur", label: "Fehlerkultur", dimension: "efficiency" },
67
+ { key: "optimierungskultur", label: "Optimierungskultur", dimension: "efficiency" },
68
+ { key: "organisationsprojekte", label: "Organisationsprojekte", dimension: "efficiency" },
69
+ { key: "automatisierung", label: "Automatisierung", dimension: "efficiency" },
70
+ ],
71
+ },
72
+ {
73
+ key: "direct_cost",
74
+ label: "Direktkostensenkung",
75
+ labelEn: "Direct Cost Reduction",
76
+ description: "Alle Maßnahmen zur Senkung der direkten Kosten eines Unternehmens.",
77
+ subAreas: [
78
+ { key: "transparenz", label: "Transparenz", dimension: "direct_cost" },
79
+ { key: "simulation", label: "Simulation", dimension: "direct_cost" },
80
+ { key: "steuerung", label: "Steuerung", dimension: "direct_cost" },
81
+ { key: "zielvorgaben", label: "Zielvorgaben", dimension: "direct_cost" },
82
+ { key: "planungsmessung", label: "Planungsmessung", dimension: "direct_cost" },
83
+ { key: "kostenfokus", label: "Kostenfokus", dimension: "direct_cost" },
84
+ { key: "materialkosten", label: "Materialkosten", dimension: "direct_cost" },
85
+ { key: "personalkosten", label: "Personalkosten", dimension: "direct_cost" },
86
+ { key: "prozesskosten", label: "Prozesskosten", dimension: "direct_cost" },
87
+ { key: "strukturkosten", label: "Strukturkosten", dimension: "direct_cost" },
88
+ { key: "bedarfsmanagement", label: "Bedarfsmanagement", dimension: "direct_cost" },
89
+ { key: "buendelung", label: "Bündelung", dimension: "direct_cost" },
90
+ { key: "zahlungsfluesse", label: "Zahlungsflüsse", dimension: "direct_cost" },
91
+ { key: "risikoverteilung", label: "Risikoverteilung", dimension: "direct_cost" },
92
+ { key: "kostensenkungsanreize", label: "Kostensenkungsanreize", dimension: "direct_cost" },
93
+ { key: "lieferantenmanagement", label: "Lieferantenmanagement", dimension: "direct_cost" },
94
+ { key: "zahlungsbedingungen", label: "Zahlungsbedingungen", dimension: "direct_cost" },
95
+ { key: "kostenvergleiche", label: "Kostenvergleiche", dimension: "direct_cost" },
96
+ ],
97
+ },
98
+ {
99
+ key: "risk",
100
+ label: "Risikominimierung",
101
+ labelEn: "Risk Minimization",
102
+ description: "Alle Maßnahmen zur Identifikation, Bewertung, Priorisierung, Minimierung und Überwachung von Unternehmensrisiken.",
103
+ subAreas: [
104
+ { key: "frueherkennung", label: "Früherkennung", dimension: "risk" },
105
+ { key: "identifikation", label: "Identifikation", dimension: "risk" },
106
+ { key: "transparenz_fokus", label: "Transparenz & Fokus", dimension: "risk" },
107
+ { key: "bewertung_priorisierung", label: "Bewertung & Priorisierung", dimension: "risk" },
108
+ { key: "massnahmen_minimierung", label: "Maßnahmen zur Minimierung", dimension: "risk" },
109
+ { key: "massnahmen_bewaeltigung", label: "Maßnahmen zur Bewältigung", dimension: "risk" },
110
+ { key: "risikodiversifizierung", label: "Risikodiversifizierung", dimension: "risk" },
111
+ { key: "risikoanalysen", label: "Risikoanalysen", dimension: "risk" },
112
+ { key: "risikoauswertungen", label: "Risikoauswertungen", dimension: "risk" },
113
+ { key: "risikomanagement", label: "Risikomanagement", dimension: "risk" },
114
+ { key: "compliance", label: "Compliance", dimension: "risk" },
115
+ { key: "bewusstsein_schaffen", label: "Bewusstsein schaffen", dimension: "risk" },
116
+ { key: "risikoverlagerung", label: "Risikoverlagerung", dimension: "risk" },
117
+ { key: "markenschutz", label: "Markenschutz", dimension: "risk" },
118
+ { key: "patentschutz", label: "Patentschutz", dimension: "risk" },
119
+ { key: "strategische_partnerschaften", label: "Strategische Partnerschaften", dimension: "risk" },
120
+ ],
121
+ },
122
+ {
123
+ key: "innovation",
124
+ label: "Innovationsgraderhöhung",
125
+ labelEn: "Increasing Innovation",
126
+ description: "Alle Maßnahmen zum Abbau von Innovationsbarrieren und zur Förderung der Innovationskraft.",
127
+ subAreas: [
128
+ { key: "innovationsbarrieren", label: "Innovationsbarrieren", dimension: "innovation" },
129
+ { key: "innovationskultur", label: "Innovationskultur", dimension: "innovation" },
130
+ { key: "innovationsmanagement", label: "Innovationsmanagement", dimension: "innovation" },
131
+ { key: "innovationsgrad", label: "Innovationsgrad", dimension: "innovation" },
132
+ { key: "innovationen_kunden", label: "Innovationen von Kunden", dimension: "innovation" },
133
+ { key: "innovationen_lieferanten", label: "Innovationen von Lieferanten", dimension: "innovation" },
134
+ { key: "innovationen_prozesse", label: "Innovationen aus Prozessen", dimension: "innovation" },
135
+ { key: "innovationen_organisationen", label: "Innovationen aus Organisationen", dimension: "innovation" },
136
+ { key: "ideenwettbewerbe", label: "Ideenwettbewerbe", dimension: "innovation" },
137
+ { key: "netzwerken", label: "Netzwerken", dimension: "innovation" },
138
+ { key: "offene_unternehmensstrukturen", label: "Offene Unternehmensstrukturen", dimension: "innovation" },
139
+ { key: "kreativitaetsworkshops", label: "Kreativitätsworkshops", dimension: "innovation" },
140
+ { key: "innovationspartnerschaft", label: "Innovationspartnerschaft", dimension: "innovation" },
141
+ { key: "ideenbewertung", label: "Ideenbewertung", dimension: "innovation" },
142
+ { key: "innovationsprojekte", label: "Innovationsprojekte", dimension: "innovation" },
143
+ { key: "digitale_innovation", label: "Digitale Innovation", dimension: "innovation" },
144
+ ],
145
+ },
146
+ ];
147
+
148
+ /** Flat list of all sub-areas */
149
+ export const ALL_INFLUENCE_SUB_AREAS: InfluenceSubArea[] = DOBT_DIMENSIONS.flatMap((d) => d.subAreas);
150
+
151
+ /** Lookup a sub-area by dimension + key */
152
+ export function getSubArea(dimension: DobtDimension, key: string): InfluenceSubArea | undefined {
153
+ const dim = DOBT_DIMENSIONS.find((d) => d.key === dimension);
154
+ return dim?.subAreas.find((s) => s.key === key);
155
+ }
156
+
157
+ /** Validate that a dimension + sub-area key combo exists */
158
+ export function isValidSubArea(dimension: string, key: string): boolean {
159
+ const dim = DOBT_DIMENSIONS.find((d) => d.key === dimension);
160
+ if (!dim) return false;
161
+ return dim.subAreas.some((s) => s.key === key);
162
+ }
@@ -0,0 +1,69 @@
1
+ /**
2
+ * KM (Kostenmanagement) CVR Weight Tables.
3
+ * World Class ceiling values from scoring-engine spec.
4
+ * Per-level buildup from Excel source.
5
+ */
6
+
7
+ import type { CvrWeightTable, CvrBuildupTable, ImplementationFactorTable } from "../types.js";
8
+
9
+ /** KM CVR weights at World Class level (Total: 44) */
10
+ export const KM_CVR_WEIGHTS: CvrWeightTable = {
11
+ km_systeme: { overhead: 2, direct_cost: 3, additional_business: 1, innovation: 2, risk: 2 },
12
+ km_datenbasis: { overhead: 0, direct_cost: 2, additional_business: 0, innovation: 0, risk: 2 },
13
+ km_methoden: { overhead: 1, direct_cost: 3, additional_business: 0, innovation: 1, risk: 1 },
14
+ km_verwendung: { overhead: 0, direct_cost: 3, additional_business: 1, innovation: 2, risk: 2 },
15
+ km_reichweite: { overhead: 1, direct_cost: 3, additional_business: 1, innovation: 1, risk: 1 },
16
+ km_richtlinien: { overhead: 1, direct_cost: 3, additional_business: 0, innovation: 0, risk: 0 },
17
+ km_informationsfluss: { overhead: 2, direct_cost: 3, additional_business: 0, innovation: 0, risk: 0 },
18
+ };
19
+
20
+ /** Per-level CVR buildup for KM dimensions */
21
+ export const KM_CVR_BUILDUP: CvrBuildupTable = {
22
+ km_systeme: {
23
+ 1: { overhead: 0, direct_cost: 0, additional_business: 0, innovation: 0, risk: 0 },
24
+ 2: { overhead: 0, direct_cost: 2, additional_business: 0, innovation: 0, risk: 0 },
25
+ 3: { overhead: 2, direct_cost: 3, additional_business: 1, innovation: 0, risk: 0 },
26
+ 4: { overhead: 2, direct_cost: 3, additional_business: 1, innovation: 2, risk: 2 },
27
+ },
28
+ km_datenbasis: {
29
+ 1: { overhead: 0, direct_cost: 0, additional_business: 0, innovation: 0, risk: 0 },
30
+ 2: { overhead: 0, direct_cost: 1, additional_business: 0, innovation: 0, risk: 0 },
31
+ 3: { overhead: 0, direct_cost: 2, additional_business: 0, innovation: 0, risk: 1 },
32
+ 4: { overhead: 0, direct_cost: 2, additional_business: 0, innovation: 0, risk: 2 },
33
+ },
34
+ km_methoden: {
35
+ 1: { overhead: 0, direct_cost: 0, additional_business: 0, innovation: 0, risk: 0 },
36
+ 2: { overhead: 0, direct_cost: 2, additional_business: 0, innovation: 0, risk: 0 },
37
+ 3: { overhead: 1, direct_cost: 3, additional_business: 0, innovation: 0, risk: 1 },
38
+ 4: { overhead: 1, direct_cost: 3, additional_business: 0, innovation: 1, risk: 1 },
39
+ },
40
+ km_verwendung: {
41
+ 1: { overhead: 0, direct_cost: 0, additional_business: 0, innovation: 0, risk: 0 },
42
+ 2: { overhead: 0, direct_cost: 1, additional_business: 0, innovation: 0, risk: 0 },
43
+ 3: { overhead: 0, direct_cost: 3, additional_business: 1, innovation: 1, risk: 1 },
44
+ 4: { overhead: 0, direct_cost: 3, additional_business: 1, innovation: 2, risk: 2 },
45
+ },
46
+ km_reichweite: {
47
+ 1: { overhead: 0, direct_cost: 0, additional_business: 0, innovation: 0, risk: 0 },
48
+ 2: { overhead: 0, direct_cost: 2, additional_business: 0, innovation: 0, risk: 0 },
49
+ 3: { overhead: 1, direct_cost: 3, additional_business: 1, innovation: 0, risk: 1 },
50
+ 4: { overhead: 1, direct_cost: 3, additional_business: 1, innovation: 1, risk: 1 },
51
+ },
52
+ km_richtlinien: {
53
+ 1: { overhead: 0, direct_cost: 0, additional_business: 0, innovation: 0, risk: 0 },
54
+ 2: { overhead: 0, direct_cost: 2, additional_business: 0, innovation: 0, risk: 0 },
55
+ 3: { overhead: 1, direct_cost: 3, additional_business: 0, innovation: 0, risk: 0 },
56
+ 4: { overhead: 1, direct_cost: 3, additional_business: 0, innovation: 0, risk: 0 },
57
+ },
58
+ km_informationsfluss: {
59
+ 1: { overhead: 0, direct_cost: 0, additional_business: 0, innovation: 0, risk: 0 },
60
+ 2: { overhead: 1, direct_cost: 2, additional_business: 0, innovation: 0, risk: 0 },
61
+ 3: { overhead: 2, direct_cost: 3, additional_business: 0, innovation: 0, risk: 0 },
62
+ 4: { overhead: 2, direct_cost: 3, additional_business: 0, innovation: 0, risk: 0 },
63
+ },
64
+ };
65
+
66
+ /** KM implementation factors */
67
+ export const KM_IMPLEMENTATION_FACTORS: ImplementationFactorTable = {
68
+ KM: { overhead: 0.5, direct_cost: 0.5, additional_business: 0.06, innovation: 0.2, risk: 0.5 },
69
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * KM (Kostenmanagement) Guidelines — 11 items.
3
+ * Source: Excellence_Rating_Master 2 (Excel)
4
+ * Weights: [Bereichsgeregelt, Unternehmensgeregelt, in Schulungsmassnahmen integriert]
5
+ * Complexity: [Commodity, Special, Big, Complex]
6
+ */
7
+
8
+ import type { ItemDef } from "../types.js";
9
+
10
+ export const KM_GUIDELINES: ItemDef[] = [
11
+ { key: "km_gl_herstellkosten", label: "Einheitliche Ermittlung der Herstellkosten (Kostenschema und Bewertungsschema) unter der Berücksichtigung aller Kostenarten", labelEn: "Uniform cost of goods manufactured determination", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [1, 3, 1], complexityRelevance: [3, 3, 3, 3], sortOrder: 1 },
12
+ { key: "km_gl_wirtschaftlichkeit", label: "Regeln zu den Methoden der Wirtschaftlichkeitsberechnung von Projekten", labelEn: "Project profitability calculation rules", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [1, 3, 1], complexityRelevance: [3, 3, 3, 3], sortOrder: 2 },
13
+ { key: "km_gl_zuschlaege", label: "Regeln zu den Inhalten von ermittelnden Zuschlägen inkl. Standortspezifischer Regeln", labelEn: "Surcharge determination rules incl. site-specific rules", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [1, 2, 2], complexityRelevance: [2, 1, 3, 3], sortOrder: 3 },
14
+ { key: "km_gl_kalkulationsgenauigkeit", label: "Regeln zur Bestimmung der Kalkulationsgenauigkeit", labelEn: "Calculation accuracy rules", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [0, 1, 3], complexityRelevance: [3, 2, 3, 3], sortOrder: 4 },
15
+ { key: "km_gl_total_cost_of_value", label: "Regeln zur Bereitstellung von Entscheidungen Total Cost of Value", labelEn: "Total Cost of Value decision rules", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [2, 3, 1], complexityRelevance: [1, 2, 3, 3], sortOrder: 5 },
16
+ { key: "km_gl_prozesskostenmethodik", label: "Anwendungen der Prozesskostenmethodik", labelEn: "Process costing methodology application", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [2, 3, 1], complexityRelevance: [1, 1, 3, 3], sortOrder: 6 },
17
+ { key: "km_gl_make_or_buy", label: "Regeln zur Entscheidung der Make or Buy", labelEn: "Make or buy decision rules", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [3, 2, 2], complexityRelevance: [1, 1, 3, 3], sortOrder: 7 },
18
+ { key: "km_gl_kompetenzrichtlinie", label: "Kompetenzrichtlinie für Entscheidungen, Wertgrenzen", labelEn: "Competency guidelines for decisions, value limits", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [1, 3, 2], complexityRelevance: [3, 2, 3, 3], sortOrder: 8 },
19
+ { key: "km_gl_risikobewertung", label: "Regeln zur Bewertung von Chancen, Risiken und Maßnahmen", labelEn: "Opportunity, risk and action assessment rules", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [1, 3, 2], complexityRelevance: [3, 2, 3, 3], sortOrder: 9 },
20
+ { key: "km_gl_berichtsregeln", label: "Berichtsregeln", labelEn: "Reporting rules", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [2, 3, 3], complexityRelevance: [3, 2, 3, 3], sortOrder: 10 },
21
+ { key: "km_gl_unternehmenskennzahlen", label: "Definition von Unternehmenskennzahlen und Grenzkennzahlen", labelEn: "Company KPI and threshold definitions", dimension: "km_richtlinien", domain: "KM", category: "guideline", weights: [1, 2, 2], complexityRelevance: [3, 2, 3, 3], sortOrder: 11 },
22
+ ];
@@ -0,0 +1,30 @@
1
+ /**
2
+ * KM (Kostenmanagement) Methods — 19 scored items.
3
+ * Source: Excellence_Rating_Master 2 (Excel)
4
+ * Weights: [Organisationsverankert, Prozessverankert, Systemverankert]
5
+ * Complexity: [Commodity, Special, Big, Complex]
6
+ */
7
+
8
+ import type { ItemDef } from "../types.js";
9
+
10
+ export const KM_METHODS: ItemDef[] = [
11
+ { key: "angebotskalkulation", label: "Angebotskalkulation / Business Case Kalkulation", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 2, 3], complexityRelevance: [3, 2, 2, 3], sortOrder: 1 },
12
+ { key: "target_costing", label: "Target Costing", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 2, 3], complexityRelevance: [1, 1, 2, 3], sortOrder: 2 },
13
+ { key: "zielkostenspaltung", label: "Untermethode zu Targetcosting: Zielkostenspaltung", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 3, 1], complexityRelevance: [0, 2, 3, 3], sortOrder: 3 },
14
+ { key: "funktionskostenrechnung", label: "Untermethode zu Targetcosting: Funktionskostenrechnung", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 2, 3], complexityRelevance: [1, 2, 1, 2], sortOrder: 4 },
15
+ { key: "make_or_buy", label: "Make-or-Buy Production Footprint", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 2, 3], complexityRelevance: [1, 1, 1, 3], sortOrder: 5 },
16
+ { key: "gemeinkostenwertanalyse", label: "Gemeinkostenwertanalyse (GWA)", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 2, 3], complexityRelevance: [1, 1, 1, 2], sortOrder: 6 },
17
+ { key: "wertanalyse", label: "Wertanalyse Wertgestaltung neuer Projekte / Produkte Wertverbesserung bestehender Produkte", dimension: "km_methoden", domain: "KM", category: "method", weights: [2, 3, 1], complexityRelevance: [1, 0, 0, 3], sortOrder: 7 },
18
+ { key: "einkaufspreisanalyse", label: "Einkaufspreisanalyse / Schattenkalkulation", dimension: "km_methoden", domain: "KM", category: "method", weights: [2, 3, 1], complexityRelevance: [1, 0, 0, 3], sortOrder: 8 },
19
+ { key: "feature_based_costing", label: "Feature Based Costing", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 2, 3], complexityRelevance: [1, 2, 1, 2], sortOrder: 9 },
20
+ { key: "relativkostenschaetzung", label: "Relativkostenschätzung", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 2, 3], complexityRelevance: [1, 1, 1, 1], sortOrder: 10 },
21
+ { key: "regressionsanalyse_lpp", label: "Regressionsanalyse / Linear Performance Pricing", dimension: "km_methoden", domain: "KM", category: "method", weights: [0, 0, 1], complexityRelevance: [1, 1, 1, 1], sortOrder: 11 },
22
+ { key: "produktbenchmarking", label: "Produkt(-kosten-)Benchmarking", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 2, 3], complexityRelevance: [2, 1, 1, 2], sortOrder: 12 },
23
+ { key: "produktkalkulation_sop", label: "Produktkalkulation nach SOP (PLAN-Kosten) Kostenträgerzeitrechnung Kostenträgerstückrechnung", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 2, 3], complexityRelevance: [0, 0, 0, 0], sortOrder: 13 },
24
+ { key: "vorkalkulation", label: "Vorkalkulation", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 3, 3], complexityRelevance: [1, 2, 3, 3], sortOrder: 14 },
25
+ { key: "kalkulationsbasiertes_risikomanagement", label: "Kalkulations- und Sensitivitätsbasiertes Risikomanagement", dimension: "km_methoden", domain: "KM", category: "method", weights: [0, 0, 3], complexityRelevance: [3, 1, 3, 3], sortOrder: 15 },
26
+ { key: "mitlaufende_kalkulation", label: "Entwicklungsbegleitende (mitlaufende) Kalkulation (Plan, Ist, Obligo)", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 1, 3], complexityRelevance: [2, 1, 3, 3], sortOrder: 16 },
27
+ { key: "multiprojektkalkulation", label: "Multiprojektkalkulation und Multiprojekt-Wirtschaftlichkeitsrechnung", dimension: "km_methoden", domain: "KM", category: "method", weights: [1, 2, 3], complexityRelevance: [3, 1, 2, 3], sortOrder: 17 },
28
+ { key: "kalkulationsbasierte_budgetierung", label: "Kalkulationsbasierte Budgetierung des Unternehmens (operative / strategische Planung) Portfoliomanagement basierend auf strategischer Planung", dimension: "km_methoden", domain: "KM", category: "method", weights: [2, 3, 3], complexityRelevance: [2, 0, 3, 3], sortOrder: 18 },
29
+ { key: "massnahmenmanagement", label: "Kalkulationsbasiertes Maßnahmenmanagement", dimension: "km_methoden", domain: "KM", category: "method", weights: [2, 2, 3], complexityRelevance: [2, 2, 3, 3], sortOrder: 19 },
30
+ ];
@@ -0,0 +1,20 @@
1
+ /**
2
+ * KM (Kostenmanagement) Systems — 9 items.
3
+ * Source: Excellence_Rating_Master 2 (Excel)
4
+ * Weights: [vereinzelt im Einsatz, überall verankert, überall im gleichen System verankert]
5
+ * Complexity: [Commodity, Special, Big, Complex]
6
+ */
7
+
8
+ import type { ItemDef } from "../types.js";
9
+
10
+ export const KM_SYSTEMS: ItemDef[] = [
11
+ { key: "km_sys_plm", label: "PLM", labelEn: "Product Lifecycle Management", dimension: "km_systeme", domain: "KM", category: "system", weights: [1, 3, 2], complexityRelevance: [1, 3, 3, 3], sortOrder: 1 },
12
+ { key: "km_sys_erp", label: "ERP - Materialmanagement, Planung und Controlling, Prozessplanung", labelEn: "ERP - Material Management, Planning & Controlling", dimension: "km_systeme", domain: "KM", category: "system", weights: [1, 2, 3], complexityRelevance: [3, 3, 3, 3], sortOrder: 2 },
13
+ { key: "km_sys_wirtschaftlichkeit", label: "System zur Wirtschaftlichkeitsermittlung laufender Business Cases", labelEn: "Business Case Profitability System", dimension: "km_systeme", domain: "KM", category: "system", weights: [1, 2, 3], complexityRelevance: [3, 2, 3, 3], sortOrder: 3 },
14
+ { key: "km_sys_mitlaufende_kalkulation", label: "System zur mitlaufenden Kalkulation über Lifetime", labelEn: "Lifetime Running Calculation System", dimension: "km_systeme", domain: "KM", category: "system", weights: [1, 2, 3], complexityRelevance: [1, 2, 1, 3], sortOrder: 4 },
15
+ { key: "km_sys_projektmanagement", label: "Projektmanagementsystem", labelEn: "Project Management System", dimension: "km_systeme", domain: "KM", category: "system", weights: [1, 2, 3], complexityRelevance: [2, 3, 3, 3], sortOrder: 5 },
16
+ { key: "km_sys_kostenstrukturanalyse", label: "System zur Analyse von Kostenstrukturen mit unterschiedlichen Datenquellen und Dimensionen, Methoden zum Kostenverständnis und Potentialanalyse", labelEn: "Cost Structure Analysis System", dimension: "km_systeme", domain: "KM", category: "system", weights: [3, 2, 3], complexityRelevance: [1, 1, 1, 3], sortOrder: 6 },
17
+ { key: "km_sys_massnahmenverfolgung", label: "Maßnahmenverfolgungssystem", labelEn: "Action Tracking System", dimension: "km_systeme", domain: "KM", category: "system", weights: [1, 2, 3], complexityRelevance: [3, 3, 3, 3], sortOrder: 7 },
18
+ { key: "km_sys_reporting", label: "Reporting, System zur Abbildung von Kennzahlen und KPI inkl. Drilldown und Analysen", labelEn: "Reporting & KPI System", dimension: "km_systeme", domain: "KM", category: "system", weights: [2, 3, 3], complexityRelevance: [3, 3, 3, 3], sortOrder: 8 },
19
+ { key: "km_sys_risikomanagement", label: "Risikomanagementsystem", labelEn: "Risk Management System", dimension: "km_systeme", domain: "KM", category: "system", weights: [1, 3, 3], complexityRelevance: [3, 3, 3, 3], sortOrder: 9 },
20
+ ];
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Stammdaten (Master Data) — Dropdown definitions for the assessment questionnaire.
3
+ * These define allowed dropdown values across KM, EK, and DM domains.
4
+ */
5
+
6
+ import type { StammdatenCategory } from "./types.js";
7
+
8
+ export const STAMMDATEN: StammdatenCategory[] = [
9
+ {
10
+ key: "verankerungsgrad",
11
+ label: "Verankerungsgrad",
12
+ labelEn: "Anchoring Level",
13
+ options: [
14
+ { key: "vendor_independent_isolated", label: "Unabhängig vom Anbieter, vereinzelt im Einsatz", labelEn: "Vendor-independent, isolated deployment" },
15
+ { key: "vendor_independent_company_wide", label: "Unabhängig vom Anbieter, im gesamten Unternehmen ausgerollt", labelEn: "Vendor-independent, rolled out company-wide" },
16
+ { key: "multi_vendor_networked", label: "Abgedeckt durch Systeme verschiedener Anbieter, die vernetzt agieren", labelEn: "Covered by networked multi-vendor systems" },
17
+ ],
18
+ },
19
+ {
20
+ key: "unternehmen_verankert",
21
+ label: "im Unternehmen verankert?",
22
+ labelEn: "Company Anchoring",
23
+ options: [
24
+ { key: "org_anchored", label: "Organisationsverankert", labelEn: "Organization-anchored" },
25
+ { key: "process_anchored", label: "Prozessverankert", labelEn: "Process-anchored" },
26
+ { key: "system_anchored", label: "Systemverankert", labelEn: "System-anchored" },
27
+ ],
28
+ },
29
+ {
30
+ key: "informationsfluss",
31
+ label: "Informationsfluss",
32
+ labelEn: "Information Flow",
33
+ options: [
34
+ { key: "manual", label: "Manuelle Aufbereitung", labelEn: "Manual preparation" },
35
+ { key: "reporting", label: "Berichtsfunktion", labelEn: "Reporting function" },
36
+ { key: "workflow", label: "Workflowfunktion", labelEn: "Workflow function" },
37
+ { key: "automated", label: "Automatisierter Datenaustausch", labelEn: "Automated data exchange" },
38
+ ],
39
+ },
40
+ {
41
+ key: "datenherkunft",
42
+ label: "Datenherkunft",
43
+ labelEn: "Data Origin",
44
+ options: [
45
+ { key: "manual", label: "Überwiegend manuell", labelEn: "Mostly manual" },
46
+ { key: "automatic", label: "Überwiegend automatisch", labelEn: "Mostly automatic" },
47
+ ],
48
+ },
49
+ {
50
+ key: "datenqualitaet",
51
+ label: "Datenqualität",
52
+ labelEn: "Data Quality",
53
+ options: [
54
+ { key: "reproducible", label: "Reproduzierbar", labelEn: "Reproducible" },
55
+ { key: "consistent", label: "Gleicher und einheitlicher Stand", labelEn: "Consistent and uniform state" },
56
+ { key: "ongoing_cleansing", label: "Laufende Bereinigung von Inkonsistenzen", labelEn: "Ongoing cleansing of inconsistencies" },
57
+ ],
58
+ },
59
+ {
60
+ key: "datenbasis",
61
+ label: "Datenbasis",
62
+ labelEn: "Data Basis",
63
+ options: [
64
+ { key: "annual", label: "Rollierende Plandaten jährlich überprüft", labelEn: "Rolling plan data reviewed annually" },
65
+ { key: "multiple_yearly", label: "Unterjährig mehrfach überprüft", labelEn: "Reviewed multiple times per year" },
66
+ { key: "daily", label: "Tagesaktuelle Datenaktualisierung", labelEn: "Daily data updates" },
67
+ ],
68
+ },
69
+ {
70
+ key: "standorte",
71
+ label: "Standorte",
72
+ labelEn: "Locations",
73
+ options: [
74
+ { key: "zentral", label: "Zentral im Headquarter", labelEn: "Centralized at headquarters" },
75
+ { key: "dezentral", label: "Dezentral", labelEn: "Decentralized" },
76
+ ],
77
+ },
78
+ {
79
+ key: "verantwortlichkeit",
80
+ label: "Verantwortlichkeit",
81
+ labelEn: "Responsibility",
82
+ options: [
83
+ { key: "controlling", label: "Controlling", labelEn: "Controlling" },
84
+ { key: "single_owner", label: "Verantwortung in einer Hand", labelEn: "Consolidated in a single role" },
85
+ ],
86
+ },
87
+ {
88
+ key: "abgleich_budgetierung",
89
+ label: "Abgleich Budgetierung",
90
+ labelEn: "Budget Reconciliation",
91
+ options: [
92
+ { key: "yes", label: "ja", labelEn: "Yes" },
93
+ { key: "no", label: "nein", labelEn: "No" },
94
+ ],
95
+ },
96
+ ];