A Python Script to Generate Bordereaux Data
Testing data platforms in property insurance can be a trick because you are dealing with sensitive data about claims and underwriting that may have sensitive information in the data. This can make it difficult to just grab some data laying around to run back through a new platform architecture to test out ideas.
To help in this situation Patterson Consulting offers a free python script that generates realistic TPA bordereaux claims data in multiple formats.
What is Borereaux Data?
Bordereaux data refers to detailed reports exchanged between insurers, brokers, and managing general agents (MGAs) that list individual records of premiums, claims, and exposures. These reports track the flow of risk and money in delegated underwriting arrangements and are critical for financial accuracy, regulatory compliance, and portfolio analysis.
Bordereaux reports arrive in high volume and inconsistent formats, creating a bottleneck for insurers who rely on clean, structured data to make decisions. Manual processing slows operations and introduces errors, making it hard to scale. Without synthetic, realistic test data, teams cannot build or validate data pipelines with confidence. The result is slow development, fragile reporting, and limited trust in analytics.
Customization Options for the Generated Data
This tool generates realistic synthetic insurance bordereaux data in JSON format, useful for development, testing, and demonstration. The field customization options include:
- Realistic Claim Modeling: Models insurance claim propensity (some policies have more claims)
- Statistical Distributions: Financial values follow realistic insurance patterns
- Date Intelligence: Maintains logical relationships between dates (policy → loss → reporting)
- Configurable Schema: Use JSON configuration files to define custom output schemas
- Multiple Output Formats: Export to JSON, CSV, or Excel
- TPA Simulation: Simulate different Third-Party Administrator data formats
- Data Variability: Optional realistic data inconsistencies (missing values, format variations)
- Command-line Flexibility: Override configuration settings via command-line arguments
Now let's jump into how to quickly generate bordereaux data.
Using the Python Bordereaux Generation Tool
To quickly get going generating some bordereaux data, head over to the github repo and clone the project. From there you can run the python script as seen below.
python generate_bordereaux.py --output csv --count 500
This will generate some synthetic bordereaux data in a local csv file that has contents similar to what you see below.
POL1056,2,True,5,CLM1162,Company 1056,2024-08-28,2024-09-28,2024-10-12,Open,Liability,1479.76,2735.76,4215.52,1.2
POL1036,61,True,9,CLM1163,Company 1036,2025-05-22,2025-07-15,2025-08-05,Closed,Theft,33599.42,0.0,33599.42,0.5
POL1030,10,True,7,CLM1164,Company 1030,2025-04-01,2025-10-13,2025-10-30,Reopened,Liability,16635.71,33804.54,50440.25,1.2
POL1025,57,True,1,CLM1165,Company 1025,2023-07-30,2025-04-24,2025-05-17,Closed,Theft,12240.84,0.0,12240.84,0.5
POL1033,109,True,4,CLM1166,Company 1033,2023-10-21,2024-06-29,2024-07-11,Open,Water Damage,2072.99,1949.76,4022.75,0.5
POL1066,2,True,3,CLM1167,Company 1066,2023-10-31,2025-04-30,2025-05-20,Pending,Business Interruption,1048.42,10505.53,11553.95,1.2
POL1066,2,True,3,CLM1168,Company 1066,2023-10-31,2025-01-06,2025-01-07,Pending,Natural Disaster,10424.92,7100.4,17525.32,1.2
POL1090,11,True,6,CLM1169,Company 1090,2023-12-30,2025-08-16,2025-08-24,Open,Business Interruption,4053.13,1185.75,5238.88,0.5
POL1056,2,True,5,CLM1170,Company 1056,2024-08-28,2025-04-05,2025-04-18,In Litigation,Other,3883.2,3288.8,7172.0,1.2
POL1036,61,True,9,CLM1171,Company 1036,2025-05-22,2025-06-04,2025-07-02,Open,Business Interruption,9495.78,17119.97,26615.75,0.5
The tool supports multiple formats (csv, json, xls) and you can change the names of the fields as well.
Hopefully this tool will help you get rolling on your property insurance data platform tests and experiments. Don't see a feature you need? Contact us and let's talk about what you'd like to see for features in future releases.