Rating deployment

Deploy the rate you tested.

Bring existing formula logic, supported legacy models, Exakt models, and lookup tables into one governed rating definition. Test it, approve it, and deploy the same version through a production API.

Deployment challenges

Traditional deployment slows change and adds risk.

Basic rules or specialist code Two common approaches to rating logic: basic tables or code written in Python. Rating logic Tables Python or

Basic rules or complex code

Some rating engines support only basic rules. Others require specialist code, such as Python, to express more advanced logic.

Development loops and slow calculation Editing, building, and testing loop through rework, while a separate calculation progress bar ends at a clock. Development EditBuildTest Calculation

Slow to build and run

Complex calculations can run slowly, while long development and testing cycles delay each pricing change.

Modelled and live rate calculations diverge after handoff The modelled and live rate start from the same inputs but finish at different points after an IT handoff. Same inputs Modelled rate IT handoff Live rate Drift

Implementation drift

An IT handoff can make the live calculation differ from the rate the pricing team modelled and tested.

From calculation to production

One rating definition, from build to live quote.

Build the calculation once, approve the version you tested, and inspect how it behaves in production.

01 / Build

Build from the logic you already use.

Bring Excel-like formulas, supported models and lookup tables into one versioned rating package. Inspect the calculation and its dependencies before testing.

Draft
1LTV=list_multiply(list_apply(Lapse_prob,lambda x: (1-x)),premium_delta)
2lapse_condition_mask = list_apply(Lapse_prob, lambda x: if(x <= 0.35, 1, 0))
3delta_condition_mask = list_apply(premium_delta, lambda x: if(x <= 150, 1, 0))
4filtered_LTV_values = list_multiply(LTV,delta_condition_mask,lapse_condition_mask)
5max_LTV = list_max(filtered_LTV_values)
6best_scenario = coalesce(scenarios[list_position(LTV,max_LTV)],scenarios[list_position(scenarios, 1.00)])
7office_premium = coalesce(round(best_scenario * Total_PP * 1/0.7,2),Total_PP)
Debug
Illustrative rating package editor showing the calculation steps, formula code and package explanation.

Scroll sideways to explore the workspace. The assistant can explain the package and suggest edits. Your team reviews changes before release.

02 / Deploy

Deploy the version you tested.

The tested package includes its branching logic and referenced components. Deploy that same approved version to production, with the previous version available for rollback.

Calculation flowIllustrative
Rating package calculation flow Input enters a usage split. Private usage goes to Full 2026. Other usage enters a coverage split, which routes to TPL coverage or Component 1. Input Usage Split use == 'private' Full 2026 Full Belgiu... V1 Coverage Split coverage_split == 'TPL' TPL coverage PI Insuran... version_5 Component 1 PI Insuran... version_4
Input branches by usage and coverage to versioned components.
Illustrative calculation flow: Input reaches a usage split. Private usage goes to Full 2026; other usage reaches a coverage split, then TPL coverage or Component 1.
Input branches by usage and coverage to versioned components.

03 / Monitor

Investigate a live price.

Review production activity by version. When a quote needs investigation, open its trace to see the inputs, formulas, lookups and factor results behind it.

Illustrative monitoringExample data

Overview

TimingsVariablesDefaultsLogs
Updated just now
Quote volume287,241Last 6 hours
Average response205.6 msRequest time
Success rate100.0%287,241 successful
Failures0No failed quotes
Default hit rate0.18%516 factor defaults

Quote volumes

Successful quote rate overlaid on hourly volume.

Quotes

Response times

Request processing and model inference time.

Milliseconds
Latest quote traceTest quote 1 · Rating v24
  1. Input
  2. Enrichment
  3. Risk model
  4. Response

Calculation Trace

Commit ID
12b85639-e6fd-4c2a-af9c-97d50e78f872
Quote ID
Test quote 1
Calculation ID
Test result
Steps
9
Calculation steps
32
CodeNode formulas
Hidden
Trace payloadAll test-result keys, including timings
{ "quote_id": "Test quote 1", "calculation_id": "Test result", "duration_ms": 11.596 }
Step 1 · Input NodeDeployment Inputs
Step 2 · EnrichmentFreeform
Step type
Freeform
Node index
1
Calculations
20
Duration
11.596 ms

Calculation steps

Calculations performed in the enrichment step
#VariableFormulaInputsResultType
1new_businessComputedif(new_business='Yes',1,0)new_business  11int
2type_policy_dgComputedif(type_policy_dg='SE','S',type_policy_dg)type_policy_dg  SSstr
3new_business_labelLookuplookup('new_business_lookup', new_business)new_business  1New businessstr
4reimbursement_labelLookuplookup('reimbursement_lookup', reimbursement)reimbursement  NoNo reimbursementstr
5distribution_channel_labelLookuplookup('distribution_channel_lookup', distribution_channel)distribution_channel  AAgencystr
6gender_labelLookuplookup('gender_lookup', gender)gender  FFemalestr

Deployment pilot

Pilot deployment with your own rate.

Follow one rating definition through build, approval and production monitoring.

Plan a deployment pilot