File size: 4,534 Bytes
1e67131
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211

---



# **Decision Kernel Lite β€” Choosing Under Uncertainty**

A minimal, reproducible system for making **defensible decisions under uncertainty**, using three complementary risk lenses:

* **Expected Loss**
* **Minimax Regret**
* **CVaR (Conditional Value at Risk)**

The system collapses scenarios, probabilities, and asymmetric losses into **one deployable decision** with an explicit rationale.

---


## **What Problem This Solves**

Most business decisions fail not because of bad models, but because:

* probabilities are uncertain or disputed
* downside risk is asymmetric
* decisions are justified with intuition instead of structure

Decision Kernel Lite provides a **decision-first abstraction** that makes trade-offs explicit and auditable.

It does **not** predict.
It does **not** optimize operations.
It **chooses actions**.

---

## **Core Concept**

A decision is defined by four primitives:

```text

Actions Γ— Scenarios Γ— Probabilities Γ— Losses

```

From these, the kernel evaluates actions using three lenses:

| Lens           | Optimizes for           |
| -------------- | ----------------------- |
| Expected Loss  | Average pain            |
| Minimax Regret | Hindsight defensibility |
| CVaR           | Tail-risk protection    |

The output is a **Decision Card** β€” not a dashboard.

---

## **What This Repository Provides**

This repository includes:

* a pure **decision kernel** (no ML, no forecasting)
* three mathematically sound decision rules
* a **Streamlit UI** for rapidΕΎ input β†’ decision
* an explicit **rule-selection heuristic**
* a copy/paste **Decision Card** suitable for exec decks or memos

This is not analytics.
It is **decision intelligence**.

---

## **Decision Rules β€” When to Use What**

### **Expected Loss (Risk-Neutral)**

Use when:

* decisions repeat frequently
* probabilities are reasonably trusted
* variance is acceptable

Optimizes:

* long-run average outcomes

---

### **Minimax Regret (Robust / Political Safety)**

Use when:

* probabilities are unreliable or contested
* decisions are one-shot or high-accountability
* post-hoc defensibility matters

Optimizes:

* β€œI should not regret this choice”

---

### **CVaR (Tail-Risk Protection)**

Use when:

* rare bad outcomes are unacceptable
* downside is asymmetric (ruin, safety, bankruptcy)
* survival > average performance

Optimizes:

* average loss in the worst cases

---

## **Heuristic Rule Recommendation**

The system includes a simple, transparent heuristic:

* if tail risk dominates average risk β†’ **recommend CVaR**
* otherwise β†’ **recommend Expected Loss**

The recommendation is **advisory only** and can be overridden.

Governance is preserved.

---

## **Repository Structure**

```text

decision_kernel_lite/

β”œβ”€β”€ app.py               β†’ Streamlit application

β”œβ”€β”€ requirements.txt     β†’ minimal dependencies

β”œβ”€β”€ Dockerfile           β†’ containerized deployment

β”œβ”€β”€ README.md            β†’ this file

β”œβ”€β”€ Executive_brief.md   β†’ executive narrative

└── Technical_brief.md   β†’ math + implementation

```

---

## **How to Run**

### Local

```bash

pip install -r requirements.txt

streamlit run app.py

```

### Docker

```bash

docker build -t decision-kernel-lite .

docker run -p 7860:7860 decision-kernel-lite

```

Open: `http://localhost:7860`

---

## **Deployment**

Works on:

* **Hugging Face Spaces (Docker SDK)**
* local Docker
* any environment that supports Streamlit

No external services required.

---

## **What This Is Not**

Decision Kernel Lite deliberately excludes:

* forecasting models
* machine learning
* optimization solvers
* domain-specific logic

Those belong **upstream or downstream**.

This kernel is intentionally **domain-agnostic**.

---

## **Positioning**

Decision Kernel Lite is designed to be:

* embedded downstream of forecasts
* embedded upstream of optimization
* used standalone for high-stakes choices

It is the **decision layer** in a larger Decision Intelligence stack.

---

## **Summary**

This system delivers:

1. a **clear action recommendation**
2. multiple **risk-aware justifications**
3. explicit trade-offs between lenses
4. a governance-ready Decision Card
5. a deployable, minimal interface

> Decisions are not predictions.
> They are commitments under uncertainty.

---