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

FIFO Assignment Engine: Round-Robin Rotation, Team Workload Balancing, SLA Tracking, and Manager Dashboard

How InsightUW eliminated cherry-picking in a MedMal underwriting team — and cut SLA breaches from 42% to 6% with fair, transparent, algorithm-driven assignment.


The Problem

Medical Malpractice is the line of business most susceptible to cherry-picking. Here's why:

MedMal submissions vary enormously in complexity. A solo dermatologist renewal takes 30 minutes to quote. A 450-bed teaching hospital with 28 surgical specialties, a Level I trauma center, and 10 years of claims history takes 3 weeks. Both land in the same shared inbox.

When Underwriting Assistants and underwriters self-select from a shared queue, the pattern is predictable:

  1. Solo practitioners and small clinics get grabbed immediately — easy premium, fast turnaround, good hit ratio
  2. Large hospital systems age in the inbox — complex, time-consuming, higher risk of declination
  3. The best underwriters cherry-pick the highest-premium accounts — leaving junior staff with the dregs
  4. Workloads become wildly unbalanced — one UW has 8 active submissions, another has 22
  5. SLAs breach on complex accounts — because nobody wants to pick them up voluntarily

Real data from a mid-size MedMal carrier (pre-InsightUW):

Submission Type Avg Days in Queue Before Pickup Avg Days to Quote
Solo physician renewal 0.3 days 2 days
Small clinic (5-10 physicians) 1.2 days 4 days
Mid-size group (20-50 physicians) 3.1 days 8 days
Large hospital system 6.8 days 18 days

Large hospital systems — the highest-premium accounts — sat in the queue nearly 7 days before anyone claimed them. That's 7 days of the broker wondering if you want their business.

The InsightUW FIFO Algorithm

InsightUW's FIFO (First-In, First-Out) assignment engine removes human choice from the equation. Submissions are assigned to the team member with the oldest last assigned at timestamp — period.

graph TD subgraph New["New Submission"] A["SUB-2026-MM-0034<br/>Valley Health Medical Center<br/>320-bed hospital, 28 surgeons"] end subgraph Algorithm["Fifo Algorithm"] B["Get MED team roster"] C["Filter: active members only<br/>(exclude PTO, on-leave)"] D["Sort by last assigned at ASC<br/>(oldest first)"] E["Select top member<br/>(longest since last assignment)"] end subgraph Team["Med Mal Team Rotation"] F["Dr. Sarah Patel<br/>Last: 9:15 AM · Active: 14"] G["Michael Torres<br/>Last: 9:08 AM · Active: 12"] H["Jennifer Liu<br/>Last: 8:55 AM · Active: 11"] I["David Washington<br/>Last: 8:42 AM · Active: 10<br/>✅ Next"] end subgraph Assign["Assignment"] J["Assign to David Washington"] K["Update last assigned at = NOW"] L["David moves to bottom of rotation"] M["Notify David via app bell"] end A --> B B --> C C --> D D --> E E --> I I --> J J --> K K --> L L --> M

The Algorithm in Detail

Key properties:
- Deterministic — given the same team state, the same member is always selected
- Fair — over time, every active member receives approximately equal assignments
- Self-balancing — faster workers complete submissions sooner, but they get assigned again sooner too
- Transparent — every assignment includes the reason ("oldest last_assigned_at in MED team")

The Scenario

Valley Health Medical Center is a 320-bed community hospital in Portland, OR. They have 28 employed surgeons across 6 specialties, a Level II trauma center, and a claims-made policy with a 2019 retroactive date. Their current carrier non-renewed due to frequency concerns (4 claims in the last 2 years).

This is exactly the kind of submission that ages in a manual queue — complex, high-risk, non-renewed.

FIFO Assignment: 0.8 Seconds

sequenceDiagram participant Email as Broker Email participant Parser as Email Parser participant Fifo as Fifo Engine participant David as David Washington participant Mgr as Lisa Chen (Manager) participant Dash as Manager Dashboard Email->>Parser: Med Mal submission<br/>Valley Health, 320-bed hospital Parser->>Parser: Parse: Med Mal, Hospital Prof Liability<br/>28 surgeons, non-renewed Parser->>Fifo: Create SUB-2026-MM-0034<br/>Request MED team assignment Fifo->>Fifo: MED roster: 4 active members<br/>Sort by last assigned at Fifo->>Fifo: David Washington: 8:42 AM<br/>(oldest — 33 min since last) Fifo->>David: 🔔 Assigned: Valley Health<br/>Medical Center — Med Mal Fifo->>Dash: Dashboard updated:<br/>David: 10 → 11 active David->>David: Opens work queue<br/>Valley Health at top Mgr->>Dash: Views team workload<br/>All members within 10-14 range

Total time from email receipt to David's notification: 0.8 seconds.

In the old world, Valley Health would have sat in the queue for 6-7 days because no one wanted to tackle a non-renewed 320-bed hospital. With FIFO, David gets it immediately — and he knows the entire team is carrying a similar load.

David's Work Queue After Assignment

Priority Type Insured LOB Complexity SLA Status
HIGH NEW Valley Health Medical Center MedMal Hospital (320-bed) 7 days ON TRACK
MEDIUM IN_REVIEW Cascade Orthopedic Group MedMal Group (12 physicians) 3 days left ON TRACK
MEDIUM IN_REVIEW Dr. Amanda Foster MedMal Solo (dermatology) 5 days left ON TRACK
LOW QUOTED Pacific Coast OB/GYN MedMal Group (6 physicians) Waiting broker

Valley Health appears at the top — highest priority (non-renewed account, large hospital). David can't ignore it.

Manager Dashboard: Real-Time Workload Visibility

Lisa Chen, the MedMal team manager, sees the following dashboard:

Team Workload View

graph LR subgraph Dashboard["Med Mal Team Dashboard — Lisa Chen, Manager"] subgraph Sarah["Dr. Sarah Patel"] S1["New: 2"] S2["In Review: 8"] S3["Quoted: 4"] S4["Total: 14"] S5["SLA Breaches: 0"] end subgraph Michael["Michael Torres"] M1["New: 1"] M2["In Review: 7"] M3["Quoted: 4"] M4["Total: 12"] M5["SLA Breaches: 1"] end subgraph Jennifer["Jennifer Liu"] J1["New: 2"] J2["In Review: 6"] J3["Quoted: 3"] J4["Total: 11"] J5["SLA Breaches: 0"] end subgraph David["David Washington"] D1["New: 2"] D2["In Review: 6"] D3["Quoted: 3"] D4["Total: 11"] D5["SLA Breaches: 0"] end end

Workload Summary Table

Analyst New In Review Quoted Bound (MTD) Total Active SLA On Track SLA At Risk SLA Breach Avg Days to Quote
Dr. Sarah Patel 2 8 4 6 14 12 2 0 5.2 days
Michael Torres 1 7 4 8 12 10 1 1 4.8 days
Jennifer Liu 2 6 3 7 11 11 0 0 4.1 days
David Washington 2 6 3 5 11 10 1 0 5.5 days
Team Total 7 27 14 26 48 43 4 1 4.9 days

Workload ratio (max/min): 14/11 = 1.27:1 — well within the healthy range.

SLA Tracking

Each submission carries an SLA based on priority and complexity:

Submission Type SLA Target Breach Alert At
Solo physician (renewal) 3 days Day 2
Small clinic (< 10 physicians) 5 days Day 4
Mid-size group (10-50 physicians) 7 days Day 5
Large hospital (> 50 beds) 10 days Day 7
Large hospital (non-renewed) 7 days Day 5
Rush 4 hours Hour 2

The dashboard highlights SLA status with color coding:

Color Meaning Action
Green ON TRACK — more than 2 days remaining No action needed
Amber AT RISK — within 1 day of breach Manager alerted
Red BREACH — past SLA target Manager + VP alerted, escalation

Manager Actions

Lisa can take several actions from the dashboard:

Action When to Use What Happens
Reassign Analyst overloaded or out sick Submission moves to another team member, audit logged
Escalate Complex account needs senior attention Priority raised, VP notified
Pause SLA Waiting on broker for information SLA clock stops, resumes when info received
Override FIFO Specialist needed for specific account Manual assignment with documented reason

Get Team Workload

FIFO Rotation Status

Why MedMal Benefits Most from FIFO

MedMal has characteristics that make manual assignment particularly harmful:

graph TD subgraph Problem["Why Med Mal Cherry-Picking Is Worst"] A["Extreme complexity variance<br/>Solo MD (30 min) vs. 450-bed hospital (3 weeks)"] B["Non-renewals are toxic<br/>Nobody wants to underwrite<br/>a carrier's rejected risk"] C["Long-tail claims<br/>Mistakes surface 3-5 years later<br/>— low incentive for quality now"] D["Surgical specialty risk<br/>Neurosurgery vs. dermatology<br/>— 50x premium difference"] E["Regulatory sensitivity<br/>State DOI watches Med Mal<br/>declination patterns closely"] end subgraph Solution["How Fifo Fixes It"] F["Complexity-blind assignment<br/>The algorithm doesn't know<br/>it's a 450-bed hospital"] G["Non-renewals assigned instantly<br/>No option to skip — it's your turn"] H["Accountability by assignment<br/>Every submission has a name<br/>and a timestamp"] I["Balanced specialist exposure<br/>Everyone gets a mix of<br/>easy and complex accounts"] J["Defensible to regulators<br/>Algorithm-driven, no bias,<br/>fully auditable"] end A --> F B --> G C --> H D --> I E --> J

Assignment Fairness

Metric Before (Manual) After (FIFO) Change
Workload ratio (max/min) 3.2:1 1.3:1 -59% imbalance
Assignments to top performer 34% of total 26% of total Normalized
Assignments to junior staff 12% of total 24% of total Fair share
Non-renewed accounts: avg pickup time 6.8 days 0.8 seconds -99.9%
Large hospital: avg pickup time 5.2 days 0.8 seconds -99.9%

SLA Performance

Metric Before (Manual) After (FIFO) Change
Overall SLA breach rate 42% 6% -86%
Solo physician SLA breach 5% 1% -80%
Small clinic SLA breach 18% 4% -78%
Mid-size group SLA breach 45% 8% -82%
Large hospital SLA breach 78% 12% -85%

Business Outcomes

Metric Before (Manual) After (FIFO) Change
Avg days to first quote 8.5 days 4.9 days -42%
Quote-to-bind ratio 22% 31% +41%
Broker complaints (per quarter) 14 3 -79%
Premium retention rate 71% 84% +18%
UW team satisfaction score 3.1/5 4.2/5 +35%

The Biggest Win: Large Hospital Accounts

Before FIFO, large hospital accounts had a 78% SLA breach rate because nobody picked them up. After FIFO:

Large Hospital Metric Before After
Avg days sitting in queue 6.8 0 (assigned instantly)
SLA breach rate 78% 12%
Avg days to quote 22 days 12 days
Quote-to-bind ratio 15% 28%
Premium per bound account $485K avg $512K avg (+6%)

These are the carrier's highest-premium accounts. Getting them quoted 10 days faster increased the bind rate by 87% — and the premium per account actually increased because the UW had more time for proper analysis instead of rushing at the last minute.

Edge Cases: How FIFO Handles Exceptions

Scenario FIFO Behavior
Team member on PTO Excluded from rotation. Assignments skip to next. When they return, they re-enter rotation with their original last_assigned_at (may get multiple assignments quickly to catch up).
New team member joins Enters rotation with last_assigned_at = NULL. Gets the first available assignment (NULLs sort first).
All team members at capacity Assignment still occurs (FIFO doesn't consider capacity). Manager gets workload alert. Can reassign or hire.
Rush submission Assigned via FIFO to next member, but with RUSH priority. Manager also notified.
Specialist needed Manager overrides FIFO with manual assignment. Override is audit-logged with reason.
Duplicate submission detected Not assigned. Flagged for manual merge.

InsightUW's FIFO assignment engine replaces inbox cherry-picking with algorithmic fairness — every submission assigned, every team member balanced, every SLA tracked. Request a demo to see the manager dashboard in action.

See InsightUW run on your data

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

Request a demo