• contact@verticalserve.com
Home / Engineering / Post 47
Engineering Blog · Post #47

Configurable Auto-Decline Rules: How InsightUW Evaluates Submissions Against Your Underwriting Guidelines

18 configurable rules, 8 condition operators, and a priority-based engine that auto-declines non-appetite submissions before an underwriter lifts a finger.


The Problem

Every carrier has underwriting guidelines — appetite limits, restricted classes, capacity thresholds. But enforcing these consistently across hundreds of daily submissions is impossible when the rules live in PDF memos and tribal knowledge. One underwriter declines a risk that another quotes. A submission outside appetite sits in queue for days before someone catches it. Meanwhile, broker relationships suffer from slow "no" responses.

The InsightUW Approach

InsightUW stores auto-decline rules as configurable Appetite Rule records with action = "decline". When a submission arrives, the rule engine evaluates all active decline rules against the submission context and auto-triggers the decline workflow when a rule matches.

graph TD subgraph Submission["New Submission"] SUB["Submission arrives<br/>with context data"] end subgraph Context["Evaluation Context"] CTX["appetite score, lob,<br/>clearance status, loss ratio,<br/>requested limit, prior premium,<br/>claim count, broker name"] end subgraph Rules["Decline Rulesets"] R1["Rule 1: Appetite < 30<br/>Priority: 200"] R2["Rule 2: Clearance Blocked<br/>Priority: 300"] R3["Rule 3: WC Loss > 100%<br/>Priority: 150"] R4["Rule 4: Limit > $50M<br/>Priority: 100"] R5["Rule 5: Cyber No Prior<br/>Priority: 120"] end subgraph Evaluate["Condition Engine"] Eval["Evaluate each rule<br/>AND logic per rule<br/>Highest priority wins"] end subgraph Result["Outcome"] Match["Rule Matched →<br/>Auto-Decline Triggered<br/>+ Draft Email Generated"] Pass["No Match →<br/>Submission Continues"] end SUB --> CTX CTX --> R1 CTX --> R2 CTX --> R3 CTX --> R4 CTX --> R5 R1 --> Eval R2 --> Eval R3 --> Eval R4 --> Eval R5 --> Eval Eval -->|"Match"| Match Eval -->|"No match"| Pass

Condition Engine

Each rule contains a JSON array of conditions evaluated with AND logic:

Operator Example Description
== clearance_status == "blocked" Exact match
!= lob != "GL" Not equal
>=, <= appetite_score <= 30 Numeric comparison
>, < loss_ratio > 100 Strict comparison
in state in ["FL", "NY"] List membership
not in lob not_in ["BOP"] Exclusion
contains insured_name contains "Sanctioned" Substring

Default Decline Rules

Rule LOB Priority Conditions
Appetite Score Below 30 ALL 200 appetite_score > 0 AND < 30
Clearance Blocked ALL 300 clearance_status == "blocked"
WC Loss Ratio > 100% Workers Comp 150 lob == "Workers Comp" AND loss_ratio > 100
Limit > $50M ALL 100 requested_limit > 50,000,000
Cyber No Prior Coverage Cyber 120 lob == "Cyber" AND prior_premium == 0

Plus 13 LOB-specific decline rules from appetite seeds covering MedMal, D&O, Cyber, Environmental, Excess Casualty, and more.

How Priority Works

When multiple rules match, the highest-priority rule wins. This prevents conflicting actions — the most critical rule always takes precedence.

LOB-Specific Example

Workers Comp for Ironclad Construction Inc:

Ironclad has a loss ratio of 115% — well above the 100% WC threshold. When "Run Decline Rules" is clicked:

  1. Engine loads 4 applicable rules (3 ALL + 1 WC-specific)
  2. WC Loss Ratio rule fires: lob == "Workers Comp" AND loss_ratio > 100MATCH
  3. Auto-decline created with category "appetite" and loss experience email template
  4. Draft email auto-generated: "Adverse loss experience... loss ratio exceeds 100%"
  5. UW reviews and sends

What This Means for Underwriters

  1. Consistent enforcement — every submission evaluated against the same rules, no exceptions from inconsistency
  2. Instant triage — non-appetite submissions flagged immediately, not after days in queue
  3. Configurable without code — rules managed via API/admin, conditions as JSON, toggle active/inactive
  4. LOB-scoped — rules can apply to ALL LOBs or specific lines (WC, Cyber, MedMal, etc.)
  5. Audit trail — every rule evaluation logged in Appetite Evaluation with full context

What's Next

Next: AI-Recommended Declinations — Risk Factor Analysis with UW Final Decision


Want to see how InsightUW enforces your underwriting guidelines automatically? Request a demo.

See InsightUW run on your data

A 45-minute working session with a real broker email and your LOBs.

Request a demo