|
| 1 | +--- |
| 2 | +status: "accepted" |
| 3 | +date: 2025-08-26 |
| 4 | +--- |
| 5 | +# Use "Decision Table" Instead of "Decision Tree" |
| 6 | + |
| 7 | +## Context and Problem Statement |
| 8 | + |
| 9 | +SSVC uses a tabular model to map combinations of decision point values to |
| 10 | +recommended actions. Historically, this model was referred to as a "decision |
| 11 | +tree" or "decision policy" with both terms being used interchangeably in |
| 12 | +documentation and tooling. While our use of "decision tree" was consistent with |
| 13 | +usage in the context of Operations Research |
| 14 | +(Wikipedia: [Decision tree](https://en.wikipedia.org/wiki/Decision_tree)), |
| 15 | +it caused confusion with the related-yet-different concept from Machine Learning |
| 16 | +(Wikipedia: [Decision tree learning](https://en.wikipedia.org/wiki/Decision_tree_learning)). |
| 17 | +Furthermore, the term "decision policy" has overloaded meanings beyond our |
| 18 | +intended usage. We want to avoid confusion on both fronts, therefore we need a |
| 19 | +new term. |
| 20 | + |
| 21 | +## Decision Drivers |
| 22 | + |
| 23 | +- Avoid ambiguity with the machine learning and operations research concept of |
| 24 | + "decision tree" |
| 25 | +- Use a less contentious term than "policy" as we are not dictating "capital-P |
| 26 | + Policy" |
| 27 | +- Accurately describe the underlying SSVC data structure, which is a table of |
| 28 | + decision point value combinations and outcomes |
| 29 | +- Improve clarity in documentation, tooling, and communication with |
| 30 | + practitioners |
| 31 | +- Align terminology with the actual data representations used (CSV and JSON |
| 32 | + tables) |
| 33 | + |
| 34 | +## Considered Options |
| 35 | + |
| 36 | +- Switch to decision framework |
| 37 | +- Switch to decision table |
| 38 | +- Switch to decision model |
| 39 | + |
| 40 | +## Decision Outcome |
| 41 | + |
| 42 | +Chosen option: "Switch to decision table" |
| 43 | + |
| 44 | +### Rationale |
| 45 | + |
| 46 | +"Decision table" accurately describes the tabular structure used by |
| 47 | +SSVC and avoids the well-established conflicting meaning of "decision tree" in |
| 48 | +machine learning and statistics. |
| 49 | + |
| 50 | +We may use *decision model* for the more generic class of things to which a |
| 51 | +*decision table* belongs, but *decision table* is specific enough to make it |
| 52 | +clear exactly what our intended meaning is. |
| 53 | + |
| 54 | +### Consequences |
| 55 | + |
| 56 | +- Good, because the terminology now accurately reflects the underlying data |
| 57 | + model (a table mapping decision point values to outcomes) |
| 58 | +- Good, because it reduces confusion for practitioners familiar with machine |
| 59 | + learning |
| 60 | +- Bad, because some existing documentation, external references, and tooling may |
| 61 | + still use "decision tree" — these will be updated incrementally |
| 62 | +- Bad, because the change breaks consistency with prior SSVC publications and |
| 63 | + external references that use "decision tree" |
| 64 | + |
| 65 | +### Confirmation |
| 66 | + |
| 67 | +Documentation, code, and tooling use "decision table" as the primary term for |
| 68 | +an SSVC decision model. References to "decision tree" in the visual/hierarchical sense |
| 69 | +(i.e., tree diagrams used to illustrate a decision table) may still appear where |
| 70 | +appropriate but should be clearly distinguished from the decision table itself. |
| 71 | + |
| 72 | +## More Information |
| 73 | + |
| 74 | +- This change was introduced with the [SSVC v2025.9 release](https://github.com/CERTCC/SSVC/releases/tag/v2025.9). |
| 75 | +- Wikipedia's [Decision table](https://en.wikipedia.org/wiki/Decision_table) page aligns with the concept that |
| 76 | + we are trying to capture. |
0 commit comments