# DMN hit policies The hit policy is a single letter in the corner of a decision table, and it decides everything about how the table behaves when more than one rule matches. It is the part most often ignored and most often the cause of a surprise in production. --- ## When it matters * Any table where two rules could match the same input. * Decisions that will be executed rather than only read. --- ## The symbols | **Symbol** | **Means** | | ---------------- | ----------------------------------------------------------------- | | U (Unique) | Exactly one rule may match. Overlap is an error, which is useful. | | A (Any) | Several may match, but they must produce the same output. | | F (First) | Rules are ordered; the first match wins. | | P (Priority) | The highest-priority output value wins, regardless of row order. | | C (Collect) | Every match contributes; optionally sum, min, max or count. | | R (Rule order) | Every match, in rule order. | | O (Output order) | Every match, in output priority order. | --- ## A few things that catch people out * Unique is the safest default. It turns overlapping rules into an error rather than a silent choice. * First hides overlaps behind row order, which makes reordering rows a behaviour change. * Collect with an aggregator (sum, count) returns one value; without one it returns a list. --- ## Related [FEEL expressionsThe little language inside the cells.](https://help.gocapable.com/diagrams/feel-expressions.html) [DMN decision table structureInputs, outputs, rules, and where each goes.](https://help.gocapable.com/diagrams/dmn-decision-table-structure.html) [DMN notation referenceBack to the full DMN reference.](https://help.gocapable.com/diagrams/dmn-notation-reference.html) --- _Pick the hit policy on purpose._