Placement Workspace · Exposures, loss runs, SOV
Exposures, loss runs, the statement of values and the expiring program, on illustrative data
The data behind readiness (illustrative): this year’s exposures against last year’s with drivers not collected, loss runs by line and status, the SOV with 2 of 9 locations carrying gaps, and the expiring program.

A property underwriter reading a statement of values looks for four things on every row: construction, year built, sprinklers and values that add up. Each blank is a question, and each question is priced. On our illustrative manufacturer, two of nine locations carry blanks, the schedule is thirteen months old, and nobody has asked how many drivers the fleet has this year.

This post follows the data-gap chaser through that clean-up: what the SOV engine flags and why, how exposures are compared with last year, the two controls that fire, and the request that goes to the client. Every client, location and figure is illustrative.

Use case card
ActorsAccount manager, the client's risk manager or CFO, placement broker
TriggerThe SOV is imported or updated; exposures are entered; Analyze runs
LinesProperty (SOV), and every line that rates on an exposure: GL and umbrella on revenue, auto on vehicles and drivers, workers compensation on payroll and employees
Agents involvedData-gap chaser, submission builder, supervisor agent
DecisionsWhat to ask the client for; whether a gap is acceptable to market with
OutcomeA schedule an underwriter can rate without a list of questions, and exposures that explain their own changes
What is measuredShare of SOV locations with gaps, SOV age at submission, exposures missing at the 90-day mark

What the SOV engine checks on every row

The statement of values check runs six tests per location. The thresholds are fixed in the engine, so the same schedule always produces the same list:

IssueSeverityThe test
Construction class missingHighThe construction field is blank
Building value missingHighNo building value on the row
TIV doesn’t add upHighTIV differs from building + contents + business income by more than a dollar
Year built missingMediumNo year built
Sprinkler status unknownMediumThe sprinkler field is blank
Roof more than 20 years oldLowRoof year more than 20 years before today

A location with any high or medium issue counts as “with gaps”. The schedule also returns TIV by state and by construction, the sprinklered share of TIV and the largest location — the shape an underwriter scans first.

Here: nine locations, $123M of TIV, 73.1% of it sprinklered. Location 5 has no construction class; location 8 has unknown sprinklers and a roof more than twenty years old. That is two of nine locations, 22.2%, against a 10% tolerance — and the schedule was last updated on September 14, 2025.

Exposures: this year against last

Each line needs certain exposures: revenue for general liability, umbrella and cyber; vehicles and drivers for auto; payroll and employees for workers compensation. The exposure engine lists each one with this year’s value, last year’s and the change, marks what a line needs but nobody collected, and lists any change of 15% or more so the submission can explain it.

On our manufacturer, revenue is up 7.8% to $182M, payroll up 8.1%, vehicles up from 100 to 106 — and drivers are blank. Last year’s file had 119 drivers against 100 vehicles, which is exactly why the agent says the driver count should be chased first: an auto underwriter will not quote without it.

flowchart LR A["SOV rows and
exposure data"] --> B["SOV engine:
6 tests per row"] A --> C["Exposure engine:
needed by line,
change on last year"] B --> D{"Gaps over 10%?
SOV over a year old?"} D -- yes --> E["Controls warn:
SOV_QUALITY, SOV_STALE"] B --> F["Data-gap chaser:
reads the facts"] C --> F F --> G["Prepared: ask the client
for the missing items"] G --> H{"Account manager:
accept, change,
reject, ask"} style E fill:#fff4e2,stroke:#f4a03a style H fill:#e8f8f4,stroke:#10b981,stroke-width:2px

Step by step

From a stale schedule to a submission-ready one Day numbers count down to the effective date. Everything shown is illustrative.
1
SOV and exposures checkedEnginesDay 112

Two of nine locations with gaps (22.2%), SOV 410 days old, drivers not collected, three changes listed.

2
Two controls warnRules StudioDay 112

SOV_QUALITY (more than 10% of rows with gaps) and SOV_STALE (older than 365 days). Each writes a warning to the decision record and an insight on Home; neither blocks.

3
Request prepareddata_gap_agentDay 112

“Ask the client for 4 items the markets need”: this year’s drivers, construction at location 5, sprinklers at location 8, an updated SOV. It never invents a value the client didn’t give.

4
Request sentAccount managerDay 111

Accepted with a note about the roof at location 8. The send is a dry run in the demo.

5
New SOV importedEnginesDay 102

The client’s spreadsheet is imported as CSV; every row is re-tested. If location 8’s roof is still old, it stays a low-severity note the submission states rather than hides.

6
Controls clearRules StudioDay 101

With gaps under 10% and the SOV fresh, neither control fires on the next run, and the readiness checklist picks up 2.5 of its 9.5 weight.

7
Submission redraftedsubmission_builder_agentDay 100

The open items that closed drop out of the submission’s flagged list; the ones that did not stay flagged in the package itself.

What the screens show

Placement Workspace · Readiness findings
Readiness findings with the agent's reading and sources, on illustrative data
Readiness findings on an illustrative food manufacturer: two of nine SOV locations with gaps, and drivers not collected — each with severity, the engine’s figures, the agent’s reading and the source chips.
Agents · The facts behind it
The data-gap chaser's request with the facts behind it, on illustrative data
The facts behind it. The data-gap chaser’s request to the client (illustrative) with the facts it rests on.

What the agents prepared, and what each rests on

AgentWhat it preparedWhat it citesWho decides
Data-gap chaserAsk the client for the 4 items the markets needSOV rows 5 and 8; exposure data (drivers not collected)Account manager
Submission builderFlag the same items as open in the packageThe SOV check and exposure enginePlacement broker
SupervisorRecord the two warningsSOV_QUALITY, SOV_STALENobody needs to sign off a warning

Edge cases

What happensWhat InsightPlacement does
No SOV at all on a property renewalThe SOV checks are unmet with “No SOV on file”; the exposure row for TIV is marked missing.
TIV entered without its componentsBuilding value missing (high) — the engine will not assume the split.
A line with no propertyThe SOV checks do not apply and drop out of the readiness weight.
The client cannot answer a gapReject the item with a note; it stays flagged in the submission so the underwriter sees it stated, not missing.

The decision record for this step

SectionHitOutcome
ControlSOV_QUALITY: 2 of 9 locations with gaps (22.2%)warn
ControlSOV_STALE: updated 2025-09-14warn
AgentData-gap chaser: ask the client for 4 items (accepted)proceed

For the account team

The request names the row and the field. Your client fills four blanks instead of answering an open “please update your SOV”.

For broker IT

The SOV import goes through the platform’s upload checks; documents land in the object store, not on a server’s disk.

For practice leaders

The share of locations with gaps and the SOV’s age at submission are two numbers that predict how many underwriter questions a renewal will draw.

Questions we get asked

Can we change the 10% tolerance?

Yes. SOV_QUALITY is a placement control in the Rules Studio; a practice leader can draft a new threshold, test it against real placements and publish it.

Does the model ever fill in a missing value?

No. The data-gap chaser’s contract is that it never invents a value the client didn’t give, and the grounding check throws away any answer carrying a number that isn’t in its facts.

Keep reading