Skip to main content
DoneThat

AI Adoption GuideInsuranceRenew

Coverage gap cross-sell at renewal

ML identifies underinsurance or missing coverage lines at renewal and recommends specific products to agents or policyholders.

Insurance processQuoteUnderwriteBindIssueBillServiceRenewClaim

By Don, DoneThat’s AI coach · updated

Cite the schedule and the gap rule, or recommend nothing

A coverage-gap recommendation at renewal is valid only when it names two sources: the in-force schedule line it is reading, and the gap rule that fired. If the model cannot produce both cites, the recommendation field stays empty. That empty field is a successful run, not a miss.

The rec is a prompt for an agent or a policyholder conversation. It is not a binder, not an endorsement, and not a quoted limit unless a human has produced one. Auto-binding from a gap score is out of scope. Inventing a missing limit to make the rec look complete is also out of scope.

A rec with no schedule cite is the first failure mode to watch. It usually means the model used occupancy, a peer book, or a CRM note instead of this policy's declarations. Ops should reject that row in review, not dress it up for the renewal packet.

This pattern sits next to other renewal work. It does not replace it. Use personalized renewal communication for how the packet is worded. Use churn propensity scoring at renewal for who needs a careful conversation. Neither of those systems is allowed to mint a coverage rec without the two cites.

Load the in-force schedule from the system of record

Load the schedule before the model scores anything. The source of truth is the policy admin system or the agency management system that holds the current term: Guidewire or Duck Creek on the carrier side, Applied Epic in many agencies. Salesforce can hold campaign membership, last-touch, and who owns the renewal. It does not hold the schedule unless you have explicitly synced declarations into it and can prove the sync is current for this term.

Pull, at minimum:

  • Coverage parts and limits on the in-force term
  • Deductibles, sublimits, and scheduled items
  • Lines recorded as excluded or not purchased, when the policy system stores that
  • Any replacement-cost, TIV, or exposure field a published gap rule is allowed to read
  • Renewal effective and expiration dates, so the rec attaches to this renewal

If a rule needs a field and that field is blank, stop. Do not impute replacement cost from square footage, do not copy a limit from a similar class, and do not reuse last year's quoted-but-declined figure unless it is on this schedule.

Stale midterm endorsements are a practical load bug. If the extract still shows a pre-endorsement dwelling or building limit, the gap rule will fire on the wrong number. Confirm you are reading the in-force version as of the renewal extract, not the original issue snapshot.

Recommend a line, not an invented limit

Each recommendation row should be boring to audit:

  1. Schedule cite: form or coverage part, line name, current limit, or an explicit "line not present on schedule."
  2. Gap rule: identifier, version, and the condition that evaluated true.
  3. Recommended action: add a named product, or change a limit only when the rule derives that change from schedule fields that are populated.
  4. Recommended limit: a number only if the rule and the schedule support it; otherwise blank.

Do not invent a missing limit. If the schedule has no inland marine line, and the rule says recommend inland marine for this occupancy, the rec is "offer inland marine." It is not a dollar amount. The agent (or a rater) produces the limit after they learn what is on site.

If the rule compares dwelling to a stored replacement-cost field, and both values are on the file, cite both and recommend a review of the dwelling limit. If replacement cost is silent, do not invent one and do not emit an "increase dwelling to X" rec.

One walkthrough: a homeowners renewal extract shows an HO-3, dwelling at $450,000, other structures and contents as scheduled, no water backup / sump overflow endorsement on the coverage list, and a blank replacement-cost estimate. A published rule says: if the dwelling is in a named water-backup zone and the schedule has no water-backup endorsement, recommend offering that endorsement. The rec cites "HO-3 coverage list: water backup not present" and "gap rule WB-04 (zone match, endorsement absent)." Recommended product: water backup endorsement. Recommended limit: blank, because the schedule never stated a sublimit to change and the rule does not invent one. A second rule that would have compared dwelling to replacement cost does not fire. The RC field is silent, so that rec stays empty. An agent can still ask whether the insured wants water backup and can still talk about dwelling adequacy from photos or a contractor estimate. The file does not pretend those facts were already there.

Empty stays empty; the agent still offers

Silence on the schedule is normal. Replacement-cost estimates lag. Scheduled personal property is incomplete. Commercial locations omit equipment lists. Personal umbrellas were discussed and never recorded. The correct model behavior is no rec for that gap, with a reason code the desk can read: "schedule silent on replacement cost," "no equipment schedule," "umbrella line not present and no limit to cite."

Do not collapse "rule did not fire" and "extract failed" into the same blank. Ops needs to tell a true empty from a dropped feed.

The agent still offers. The rec is an assist, not a permission slip. If the insured describes a jewelry collection that was never scheduled, the agent schedules it and quotes it. If the insured declines water backup, the agent records the declination. Nothing in the model layer should block that conversation because the rec was empty, and nothing should treat a displayed rec as already sold.

Put the rec on the same workbench the producer already uses for the renewal, next to the packet and the account notes. Do not send it down a separate bind queue.

Keep the rec off bind, price, and issuance

Do not auto-bind. A displayed rec is not acceptance, not rating, and not underwriting approval. Wiring it into issuance as if it were an endorsed form is the second failure mode, and it is worse than a sloppy cite because it changes the contract the insured never agreed to.

Keep gap recs out of dynamic renewal pricing until a human has quoted the added or increased coverage and the insured has accepted that quote. A gap score is not a rate factor. Mixing them makes the renewal premium move for coverage the file never bound.

Churn scores can change who the agent calls first. They must not skip the schedule cite or fill a silent limit because the account looks shaky.

For questions about what the in-force policy already says, use the policy RAG coverage assistant. That tool cites policy language. This pattern cites the schedule plus a gap rule for something that may not be on the policy yet. Do not let a language answer invent a limit either. If the form is silent, say so.

Treat these three conditions as pull-the-feature triggers until they are fixed: a rec with no schedule cite, a rec treated as bound, or a rec that invents a missing limit. Any one of those is enough to take the assist off producer screens.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first