Insurance Underwriting and Claims Analytics Set (GB)
Overview
FININS998 follows a synthetic United Kingdom personal and commercial insurer end to end: quotation, underwriting, inception, endorsement, renewal, notification, reserving, settlement, recovery, subrogation, salvage and counter-fraud. Forty-one linked tables cover the customer book with addresses, contacts, named drivers and no-claims history; the insured assets themselves, with vehicle group, value, overnight location and annual mileage, and property construction, rebuild value, EPC band and flood zone; and the full policy lifecycle at the grain an insurer actually holds it. A renewal is a new policy row. That is not a modelling convenience, it is how exposure works: claim frequency is a rate per policy year, not per customer, so twenty-eight thousand policyholders running for two or three years become ninety-three thousand policy years sitting behind seventeen thousand claims. Frequency and severity are set per line and moved by a postcode-level claim index, so motor runs near a fifth of a claim per policy year and home nearer a twentieth, as they really do. The ground truth is where this set differs from the other two financial crime datasets. Most insurance fraud is exaggeration of a genuine loss rather than an invented one, so a model that learns to separate real losses from fabricated ones will find almost nothing. The label table therefore carries the honest value and the claimed value on the same row, so the inflation is separable from the loss underneath it. Ten fraud types are represented, split between dishonesty at application, which corrupts the premium, and dishonesty at claim, which corrupts the loss. Alongside it sits the counter-fraud estate: every rule indicator that fired, on honest claims as well as dishonest ones, and every referral to the special investigations unit with its outcome. The confirm rate runs near half, far better than an anti money laundering rule estate, and the reason matters: an SIU referral is made by a human adjuster who has already read the file. Notification delay is carried as its own column because it is one of the strongest single indicators in general insurance. Identifiers come from keyed hashes, so no column runs 0001, 0002, 0003.
Analytics
Four entries from the packaged tables, with the performance the dataset records for them. Every value below is read from the shipped files.
Row Counts by Table
Counted from the files that ship, not estimated.
| Table | Rows |
|---|---|
| ins_policyholders | 28,000 |
| ins_policyholder_addresses | 35,862 |
| ins_policyholder_contacts | 56,000 |
| ins_drivers | 34,844 |
| ins_vehicles | 20,638 |
| ins_properties | 14,287 |
| ins_quotes | 21,136 |
| ins_quote_lines | 74,032 |
| ins_policies | 93,162 |
| ins_policy_covers | 247,546 |
| ins_endorsements | 22,210 |
| ins_premiums | 309,014 |
| ins_claims | 17,171 |
| ins_claim_events | 80,359 |
| ins_claim_lines | 34,232 |
| ins_reserves | 34,546 |
| ins_claim_payments | 19,613 |
| ins_recoveries | 1,450 |
| ins_subrogation | 1,711 |
| ins_salvage | 1,807 |
| ins_fraud_indicators | 17,208 |
| ins_siu_referrals | 823 |
| ins_investigation_actions | 2,830 |
| ins_fraud_labels | 562 |
| ins_monthly_line_performance | 588 |
| ins_policyholder_monthly | 336,000 |
| ins_brokers | 140 |
| ins_reinsurers | 6 |
| ins_product_lines | 14 |
| ins_perils | 24 |
| ins_fraud_types | 10 |
| ins_fraud_rules | 14 |
| ins_claim_statuses | 8 |
| ins_policy_statuses | 7 |
| ins_settlement_types | 7 |
| ins_vehicle_types | 12 |
| ins_property_types | 10 |
| ins_occupations | 16 |
| ins_channels | 5 |
| ins_cities | 46 |
| ins_currencies | 1 |
Table Relationships
One parent record and seven child tables, each joined back on the same key.
Schema
Every table ships with typed columns, referential integrity, and documentation.
| Column | Type | Description |
|---|---|---|
| policyholder_id | varchar(24) | Policyholder key. Primary key of the customer book and the foreign key on policies, claims and everything else about a customer. |
| policyholder_number | varchar(16) | Customer number as it appears on correspondence. Sparse, so it carries no information about when they joined. |
| policyholder_name | varchar(32) | Human-readable policyholder name. All people and organisations are modelled. |
| holder_type | varchar(16) | personal or commercial. |
| sex | varchar(16) | Sex recorded at proposal, empty for a commercial customer. |
| date_of_birth | date | Date of birth, empty for a commercial customer. |
| occupation_code | varchar(24) | Declared occupation, empty for a commercial customer. Joins ins_occupations. |
+7 more columns in ins_policyholders. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| address_id | varchar(24) | Stable identifier for address; use it for declared joins. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| address_line_1 | varchar(32) | Street and building number. |
| city_name | varchar(24) | Human-readable city name. All people and organisations are modelled. |
| city_id | varchar(16) | Stable identifier for city; use it for declared joins. |
| postcode | varchar(16) | UK postcode in the real format, with an area that genuinely serves the town and a district inside that area real range. |
| country_code | varchar(8) | ISO 3166-1 alpha-2 country code. |
+3 more columns in ins_policyholder_addresses. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| contact_id | varchar(24) | Stable identifier for contact; use it for declared joins. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| contact_type | varchar(16) | email or mobile. |
| contact_value | varchar(56) | The address or number. Mail domains are generated and were checked as unregistered; mobile numbers sit in the Ofcom 07700 900xxx drama range, which is never allocated. |
| is_primary | varchar(16) | True for the single row of this type that the ERP treats as the default for the vendor. |
| verification_status | varchar(16) | Whether the channel has been proven to reach the customer. |
| Column | Type | Description |
|---|---|---|
| driver_id | varchar(24) | A driver named on a motor policy. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| driver_name | varchar(32) | Human-readable driver name. All people and organisations are modelled. |
| relationship | varchar(16) | How the driver relates to the policyholder. This column is what makes FRONTING detectable at all: a young son or daughter named while an older parent is shown as the main driver is the classic shape. |
| date_of_birth | date | Driver date of birth. Age is the single largest motor rating factor after postcode. |
| years_licensed | integer | Years since the licence was issued. |
| convictions | integer | Motoring convictions declared. |
+3 more columns in ins_drivers. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| vehicle_id | varchar(24) | An insured vehicle. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| vehicle_type | varchar(24) | Body style. Joins ins_vehicle_types. |
| registration | varchar(16) | Registration in the current UK format. Matches no registered vehicle. |
| year_of_manufacture | integer | Year the vehicle was built. |
| insurance_group | integer | ABI insurance group, 1 to 50. Together with driver age it is most of a motor premium. |
| market_value_gbp | integer | Value at inception, which is what a total loss settles against. |
+4 more columns in ins_vehicles. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| property_id | varchar(24) | An insured property. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| property_type | varchar(24) | Construction type. Joins ins_property_types. |
| year_built | integer | Year of construction. Drives subsidence and escape of water exposure. |
| bedrooms | integer | Number of bedrooms, a proxy for size and therefore for contents value. |
| rebuild_value_gbp | integer | Cost to reinstate the building, which is the buildings sum insured and is not the market value. |
| contents_value_gbp | integer | Declared contents value. |
+4 more columns in ins_properties. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| quote_id | varchar(24) | One quotation. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| product_line | varchar(32) | Class of business quoted. Joins ins_product_lines. |
| quoted_at | varchar(32) | When the quotation was produced, UTC. |
| quote_date | date | quote date as an ISO 8601 calendar date. |
| quote_month | varchar(16) | Year and month of the quotation. |
| sale_channel | varchar(24) | Where the quotation came from. Joins ins_channels. |
+3 more columns in ins_quotes. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| quote_line_id | varchar(24) | One priced option inside a quotation. |
| quote_id | varchar(24) | Stable identifier for quote; use it for declared joins. |
| quoted_premium_gbp | numeric(8,2) | Premium offered for this option. |
| quoted_excess_gbp | integer | Excess offered on this option. Excess and premium trade off, which is what makes the option set worth modelling. |
| is_selected | varchar(16) | True on the option the customer took, where they took one. |
| cover_tier | varchar(16) | essentials, standard or enhanced. |
| Column | Type | Description |
|---|---|---|
| policy_id | varchar(24) | Policy key. ONE ROW PER POLICY YEAR: a renewal is a new row, because claim frequency is a rate per policy year and exposure has to be countable. |
| policy_number | varchar(16) | Policy number as it appears on the certificate. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| product_line | varchar(32) | Class of business written. Joins ins_product_lines. |
| insured_asset_id | varchar(24) | The vehicle or property insured. Empty on lines with no physical asset, such as travel or liability. |
| inception_date | date | First day of cover for this policy year. |
| expiry_date | date | Last day of cover. |
+10 more columns in ins_policies. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| cover_id | varchar(24) | One peril bought on one policy. |
| policy_id | varchar(24) | Stable identifier for policy; use it for declared joins. |
| peril_code | varchar(32) | Stable code for peril; its companion description carries the meaning. |
| sum_insured_gbp | integer | The limit for that peril. |
| excess_gbp | integer | Excess applying to that peril. |
| is_active | varchar(16) | Whether the cover is in force. |
| Column | Type | Description |
|---|---|---|
| endorsement_id | varchar(24) | A mid-term change to the policy. |
| policy_id | varchar(24) | Stable identifier for policy; use it for declared joins. |
| effective_at | varchar(32) | When the change took effect, UTC. |
| effective_date | date | effective date as an ISO 8601 calendar date. |
| endorsement_reason | varchar(24) | What changed. A vehicle or address change mid-term is a rating event and sometimes a disclosure event. |
| premium_adjustment_gbp | numeric(7,2) | Premium charged or refunded for the change. Negative on a refund. |
| Column | Type | Description |
|---|---|---|
| premium_id | varchar(24) | One premium due, annually or by instalment. |
| policy_id | varchar(24) | Stable identifier for policy; use it for declared joins. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| due_at | varchar(32) | When the premium fell due, UTC. |
| due_date | date | due date as an ISO 8601 calendar date. |
| due_month | varchar(16) | Year and month it fell due. |
| premium_gbp | numeric(8,2) | Amount due before tax. |
+4 more columns in ins_premiums. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| claim_id | varchar(24) | Claim reference in the form an adjuster quotes. Primary key of the claim spine. |
| policy_id | varchar(24) | Stable identifier for policy; use it for declared joins. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| product_line | varchar(32) | Class of business the claim falls under. Joins ins_product_lines. |
| insured_asset_id | varchar(24) | The vehicle or property the loss happened to. |
| peril_code | varchar(32) | What caused the loss. Joins ins_perils. |
| loss_at | varchar(32) | When the loss happened. |
+14 more columns in ins_claims. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| event_id | varchar(24) | One step in the claim lifecycle, in order. |
| claim_id | varchar(24) | Stable identifier for claim; use it for declared joins. |
| event_at | varchar(32) | When the step happened, UTC. Steps are in order within a claim. |
| event_status | varchar(24) | The status the claim moved into. Joins ins_claim_statuses. |
| adjuster_id | varchar(16) | Stable identifier for adjuster; use it for declared joins. |
| event_note | text | Handler note. Empty where the status change speaks for itself. |
| Column | Type | Description |
|---|---|---|
| claim_line_id | varchar(24) | One head of damage inside a claim. |
| claim_id | varchar(24) | Stable identifier for claim; use it for declared joins. |
| head_of_damage | varchar(24) | What the money is for: vehicle damage, third party damage, personal injury, contents, buildings, medical, legal costs or hire. |
| amount_gbp | numeric(10,2) | Amount attributed to this head of damage. |
| agreement_status | varchar(16) | agreed or disputed. A disputed head is where the exaggeration usually sits. |
| Column | Type | Description |
|---|---|---|
| reserve_id | varchar(24) | One reserve movement. |
| claim_id | varchar(24) | Stable identifier for claim; use it for declared joins. |
| set_at | varchar(32) | When the reserve was set, UTC. |
| set_month | varchar(16) | Year and month it was set. |
| reserve_gbp | numeric(10,2) | Amount held against the claim at that point. |
| reserve_stage | varchar(16) | initial, revision or final. The distance between the initial reserve and the final settlement is what a reserving model exists to predict. |
| Column | Type | Description |
|---|---|---|
| payment_id | varchar(24) | One payment against a claim. |
| claim_id | varchar(24) | Stable identifier for claim; use it for declared joins. |
| paid_at | varchar(32) | When the payment was made, UTC. |
| paid_date | date | paid date as an ISO 8601 calendar date. |
| paid_month | varchar(16) | Year and month of payment. |
| amount_gbp | numeric(10,2) | Amount paid. |
| settlement_type | varchar(24) | How it was settled. Joins ins_settlement_types. |
+2 more columns in ins_claim_payments. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| recovery_id | varchar(24) | Money recovered against a claim. |
| claim_id | varchar(24) | Stable identifier for claim; use it for declared joins. |
| recovered_at | varchar(32) | When the money was recovered, UTC. |
| amount_gbp | numeric(10,2) | Amount recovered. |
| recovery_source | varchar(24) | third_party_insurer, uninsured_driver, reinsurance or other. |
| Column | Type | Description |
|---|---|---|
| subrogation_id | varchar(24) | Recovery pursued against the party at fault. |
| claim_id | varchar(24) | Stable identifier for claim; use it for declared joins. |
| pursued_at | varchar(32) | When recovery was pursued, UTC. |
| amount_gbp | numeric(10,2) | Amount pursued. |
| subrogation_outcome | varchar(24) | recovered, partial or unrecoverable. |
| Column | Type | Description |
|---|---|---|
| salvage_id | varchar(24) | Value realised from damaged property or a written-off vehicle. |
| claim_id | varchar(24) | Stable identifier for claim; use it for declared joins. |
| realised_at | varchar(32) | When the salvage was realised, UTC. |
| amount_gbp | numeric(9,2) | Amount realised. |
| salvage_type | varchar(24) | vehicle_salvage, contents_salvage or scrap. |
| Column | Type | Description |
|---|---|---|
| indicator_id | varchar(24) | One counter-fraud rule firing on one claim. |
| claim_id | varchar(24) | Stable identifier for claim; use it for declared joins. |
| rule_code | varchar(8) | Stable code for rule; its companion description carries the meaning. |
| indicator_score | numeric(6,3) | What the rule scored. |
| fired_at | varchar(32) | When the rule fired, UTC, normally within days of notification. |
| is_primary_rule | varchar(16) | True on the rule that drove the referral, where there was one. Indicators fire on honest claims too, and that noise is the actual modelling problem. |
| Column | Type | Description |
|---|---|---|
| referral_id | varchar(24) | A referral to the special investigations unit. |
| claim_id | varchar(24) | Stable identifier for claim; use it for declared joins. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| referred_at | varchar(32) | When the claim was referred, UTC. |
| referred_date | date | referred date as an ISO 8601 calendar date. |
| referred_month | varchar(16) | Year and month of referral. |
| trigger_rule | varchar(16) | The rule that prompted the referral. |
+4 more columns in ins_siu_referrals. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| action_id | varchar(24) | One step in an investigation, in order. |
| referral_id | varchar(24) | Stable identifier for referral; use it for declared joins. |
| action_at | varchar(32) | When the step was taken, UTC. |
| action_type | varchar(24) | What the investigator did, from desktop review through medical report to surveillance. |
| investigator_id | varchar(16) | Stable identifier for investigator; use it for declared joins. |
| Column | Type | Description |
|---|---|---|
| label_id | varchar(24) | One confirmed fraudulent claim. The ground truth table. |
| claim_id | varchar(24) | Stable identifier for claim; use it for declared joins. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| fraud_type | varchar(32) | The confirmed pattern. Joins ins_fraud_types. |
| fraud_stage | varchar(16) | application or claim, copied from the type. Dishonesty at application corrupts the premium; at claim it corrupts the loss. |
| confirmed_at | varchar(32) | When the fraud was proved, weeks or months after notification. Features observable only at this timestamp leak the future. |
| honest_value_gbp | numeric(10,2) | What the loss would have cost had it been claimed honestly. THIS IS THE COLUMN THAT MAKES THE SET USABLE: the loss is real, and this is its real size. |
+4 more columns in ins_fraud_labels. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| performance_id | varchar(24) | One product line, one month. |
| product_line | varchar(32) | Class of business. Joins ins_product_lines. |
| performance_month | varchar(16) | Year and month. |
| earned_premium_gbp | numeric(11,2) | Premium earned in the month. |
| incurred_claims_gbp | numeric(11,2) | Claims incurred in the month. |
| claim_count | integer | Claims notified in the month. |
| loss_ratio_pct | numeric(8,2) | Incurred over earned, as a percentage. Compare against target_loss_ratio on ins_product_lines. |
+1 more columns in ins_monthly_line_performance. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| activity_id | varchar(24) | One policyholder, one month. |
| policyholder_id | varchar(24) | Stable identifier for policyholder; use it for declared joins. |
| activity_month | varchar(16) | Year and month. |
| premium_gbp | numeric(8,2) | Premium due that month. |
| claim_count | integer | Claims notified that month. |
| incurred_gbp | numeric(10,2) | Value incurred that month. |
| Column | Type | Description |
|---|---|---|
| broker_id | varchar(16) | A broker introducing business. |
| broker_name | varchar(64) | Human-readable broker name. All people and organisations are modelled. |
| fca_firm_reference | varchar(8) | Format-correct FCA firm reference. Not an allocated reference and in no real register. |
| city_id | varchar(16) | Stable identifier for city; use it for declared joins. |
| web_domain | varchar(40) | Broker domain. Every one was resolved at build time and any that answered was discarded. |
| broker_type | varchar(16) | regional, national or specialist. |
| commission_pct | numeric(5,1) | Commission the broker earns on gross premium. |
+2 more columns in ins_brokers. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| reinsurer_id | varchar(16) | A reinsurance counterparty. |
| reinsurer_name | varchar(32) | Human-readable reinsurer name. All people and organisations are modelled. |
| reinsurer_code | varchar(8) | Stable code for reinsurer; its companion description carries the meaning. |
| country_code | varchar(8) | ISO 3166-1 alpha-2 country code. |
| treaty_type | varchar(24) | quota_share, excess_of_loss or catastrophe. |
| Column | Type | Description |
|---|---|---|
| product_line | varchar(32) | The class of business. |
| product_line_name | varchar(40) | Human-readable product line name. All people and organisations are modelled. |
| market_segment | varchar(16) | personal or commercial. They behave differently on frequency, severity and fraud, and should rarely be modelled together without a flag. |
| base_premium_gbp | integer | Starting premium before any rating factor is applied. |
| target_loss_ratio | numeric(5,2) | The loss ratio the line is priced to achieve. Compare it against ins_monthly_line_performance to see where the book actually landed. |
| Column | Type | Description |
|---|---|---|
| peril_code | varchar(40) | The insured peril, on the naming a UK policy schedule uses. |
| peril_name | varchar(40) | Human-readable peril name. All people and organisations are modelled. |
| peril_class | varchar(16) | property, motor, travel, pet, liability, cyber or bi. Determines which lines can carry the peril at all. |
| frequency_share | numeric(5,2) | Share of claims in its class that this peril accounts for. |
| Column | Type | Description |
|---|---|---|
| fraud_type | varchar(32) | The fraud pattern, in the vocabulary a UK counter-fraud team uses. |
| fraud_type_name | varchar(40) | Human-readable fraud type name. All people and organisations are modelled. |
| fraud_stage | varchar(16) | application or claim. Dishonesty at application corrupts the PREMIUM, dishonesty at claim corrupts the LOSS, and they need different models. |
| fraud_description | varchar(144) | Human-readable meaning of fraud. |
| base_rate_per_mille | numeric(4,1) | Incidence per thousand claims used to drive the simulation. Published so the class balance is reproducible. |
| Column | Type | Description |
|---|---|---|
| rule_code | varchar(8) | Identifier of a counter-fraud rule. |
| rule_description | varchar(72) | What the rule looks for, in the words an adjuster would read on the case. |
| target_fraud_type | varchar(32) | The fraud type the rule was written to catch. |
| rule_sensitivity | numeric(5,2) | How readily the rule fires, 0 to 1. |
| Column | Type | Description |
|---|---|---|
| claim_status | varchar(24) | Where the claim has got to. |
| claim_status_name | varchar(24) | Human-readable claim status name. All people and organisations are modelled. |
| lifecycle_state | varchar(16) | open or closed. A reopened claim is open again, which is why the two columns are separate. |
| status_order | integer | The order statuses normally run in. Sort on this, not alphabetically. |
| Column | Type | Description |
|---|---|---|
| policy_status | varchar(24) | Where the policy has got to. |
| policy_status_name | varchar(32) | Human-readable policy status name. All people and organisations are modelled. |
| lifecycle_state | varchar(16) | pre_bind, live or ended. Cancellation by the insured and by the insurer are both ended and mean very different things. |
| Column | Type | Description |
|---|---|---|
| settlement_type | varchar(24) | How the claim was settled. |
| settlement_type_name | varchar(40) | Human-readable settlement type name. All people and organisations are modelled. |
| settlement_class | varchar(16) | indemnity or goodwill. An ex gratia payment is not an indemnity and should not be treated as one in a loss ratio. |
| Column | Type | Description |
|---|---|---|
| vehicle_type | varchar(24) | Body style of the insured vehicle. |
| vehicle_type_name | varchar(32) | Human-readable vehicle type name. All people and organisations are modelled. |
| typical_insurance_group | integer | Typical ABI insurance group for the body style, 1 to 50. |
| rating_factor | numeric(5,2) | Premium multiplier the body style carries. |
| Column | Type | Description |
|---|---|---|
| property_type | varchar(24) | Construction type of the insured property. |
| property_type_name | varchar(32) | Human-readable property type name. All people and organisations are modelled. |
| rating_factor | numeric(5,2) | Premium multiplier the construction carries. A listed building costs materially more to reinstate. |
| Column | Type | Description |
|---|---|---|
| occupation_code | varchar(24) | Occupation group the policyholder declared. |
| occupation_name | varchar(40) | Human-readable occupation name. All people and organisations are modelled. |
| rating_factor | numeric(5,2) | Premium multiplier the occupation carries. |
| Column | Type | Description |
|---|---|---|
| channel_code | varchar(24) | How the business was acquired. |
| channel_name | varchar(24) | Human-readable channel name. All people and organisations are modelled. |
| volume_share | numeric(5,2) | Share of new business on the channel. Price comparison business retains and claims differently from direct, and is worth a feature on its own. |
| Column | Type | Description |
|---|---|---|
| city_id | varchar(16) | Stable identifier for city; use it for declared joins. |
| city_name | varchar(24) | Human-readable city name. All people and organisations are modelled. |
| region_name | varchar(32) | Human-readable region name. All people and organisations are modelled. |
| population | integer | Approximate urban population, used to weight where the book sits. |
| claim_frequency_index | numeric(5,2) | How much more or less often a claim comes from this town, 1.0 being average. Postcode is the strongest single rating factor a UK insurer has, and this is its coarse form. |
| Column | Type | Description |
|---|---|---|
| currency_code | varchar(8) | ISO 4217 alphabetic currency code. Sterling only in this release. |
| currency_numeric | integer | ISO 4217 numeric currency code. |
| currency_name | varchar(24) | Human-readable currency name. All people and organisations are modelled. |
| minor_units | integer | Digits after the decimal point the currency uses. |
Sample Data
A snapshot of real rows from the dataset (values are fully synthetic).
| claim_id | product_line | peril_code | notified_date | incurred_gbp | claim_status | notification_delay_days | is_fraud | fraud_type |
|---|---|---|---|---|---|---|---|---|
| CLM-2025-FDJFIL065 | home_combined | fire | 2025-01-08 | 407.91 | settled | 17 | N | |
| CLM-2023-18UMWC6SJ | home_buildings | theft | 2023-05-24 | 17163.69 | reserved | 10 | N | |
| CLM-2025-0FWIVY0WL | motor_private | fire_theft_motor | 2025-06-18 | 5190.59 | settled | 9 | N |
Version History
| v1.0.0 | 2026-09-01 | v1.0.0 - first release. Forty-one tables, 1.51 million rows. Policies, claims and monthly line performance across forty-two months with twelve months of quotation detail. Ground-truth fraud labels on 3.3 percent of claims, each carrying the honest value beside the claimed value so the inflation is separable, plus the full counter-fraud indicator and SIU referral estate. |
Related Datasets
Anti Money Laundering Transaction Monitoring Set (GB)
FinanceFINAML997 is a deterministic synthetic UK corporate banking warehouse: five thousand customer entities, eight thousand accounts, twenty-two thousand counterparties and six hundred thousand payments over twelve months, carrying confirmed laundering patterns and the incumbent monitoring estate that competes with them.
Consumer Credit Risk and Lending Decisioning Set (GB)
FinanceFINCRD995 is a deterministic synthetic UK consumer lender: 46,000 applicants, 65,000 applications and 15,000 agreements across the real Bank Rate cycle, and the counterfactual outcome for every applicant it turned down.
Digital Operational Resilience and ICT Third-Party Risk Analytics Set (EU)
FinanceFINICT999 is a deterministic synthetic EU financial-sector resilience warehouse connecting regulated entities, business functions, ICT assets, providers, contracts, risks, controls, incidents, recovery, testing, audit, remediation and financial effects.