- Eligibility — hard legal / regulatory gates. Violations create compliance liability. Examples: KYC passed, consent on file, not on DNC list, jurisdiction allowed, legal age.
- Applicability — product-fit rules. Could this offer logically be consumed? Examples: product not already owned, in target segment, market window is open, recency gap satisfied.
- Suitability — customer-fit rules. Is the offer a good match for this customer right now? Examples: affordability / debt-to-income, risk tolerance, financial literacy, propensity threshold.
- Arbitration — the ranking step. Not a filter; handled by the arbitration engine (see Multi-objective arbitration).
How rules are classified
EveryQualificationRule carries an optional stage field.
The stages endpoint + classifier respect an explicit value when set,
then fall back to heuristics on ruleType and rule name /
description. Exact priority:
Querying by stage
Filter the qualification-rules list endpoint:engagementPolicyStage
field so UI layers don’t need to re-run the classifier client-side:
"eligibility", "applicability", "suitability".
Any other filter value returns 400.