Skip to main content
A reproducible competitive study needs evidence for the rating source, input mapping, and comparison basis. Use this workflow when adding a program or changing its source, tables, prepare function, or assumptions. Install Relativities and download the synthetic examples before running this page. Run the examples packaged with the synthetic program:
The examples cover two successful ratings and invalid inputs. Their expected premiums were calculated independently from the synthetic rules.

Confirm the source and scope

Record the company, state, product, program version, effective date, and new-business or renewal basis. Review the applicable manual, tables, amendments, and underwriting rules together. Identify supported coverages, fees, discounts, and any omitted components before interpreting totals. Each check answers a different question. A verified bundle or successful rating alone establishes only the corresponding property above.

Inspect the mapping before the premium

Review the book a program accepts, then the carrier inputs for a representative submission:
program.schema lists every table and column that prepare can read. A program checks each book against it before prepare runs. Check dates, vehicle and driver assignments, symbols, territories, coverage selections, units, and supplied model inputs. Keep reported values separate from derived values, proxies, and carrier-specific estimates. Document each mapping’s source and assumptions beside prepare. explain shows the prepared inputs and RSL calculations. The Python prepare function remains the source for its mapping logic.

Reconcile independent examples

Use filing examples, independently calculated cases, or quotes with established rating facts and scope. Reconcile by coverage and vehicle where available, then the policy total, including the applicable fees and rounding. For a mismatch, inspect inputs first, followed by table keys, factors, calculation order, and rounding. Retain unresolved differences and the evidence needed to settle them. Choose cases at rating-band boundaries and with material interactions, such as a young driver in a multi-vehicle household. Include refusals, missing facts, and unsupported selections so the study reports those outcomes explicitly. Program.check compares packaged expectations within half a cent. It provides regression evidence only for those cases and the quality of their expectations. with_rater recalculates expected outcomes for a replacement rater while checking statuses. Validate the changed premiums independently before accepting them as new expectations.

Preserve the run and its exceptions

Retain the IDs with the book snapshot, mapping assumptions, comparison basis, and analysis code. For sampled facts, retain the sampling procedure and seed too. Count every program’s successes, refusals, invalid inputs, and mapping failures before summarizing premiums. A calculated premium is a rating result. Underwriting appetite needs its own evidence in a placement-oriented exhibit. Compare carriers shows how to keep those populations visible.