BDR-AI/insurance-datasets-synthetic
Insurance Datasets - Synthetic
Overview
This repository contains completely synthetic insurance datasets designed for testing, development, training, and research purposes. All data is artificially generated and does not represent any real individuals, policies, or claims.
Dataset Description
This collection includes three primary datasets and supporting documentation:
1. Synthetic Claims Dataset
File: synthetic_claims.csv Rows: 1,000 records Description: Synthetic insurance claim records spanning various policy types
2. Synthetic Policies Dataset
File: synthetic_policies.csv Rows: 500 records Description: Synthetic insurance policy records with coverage details
3. Synthetic Documents
File: synthetic_documents.txt Count: 50 documents Description: Sample insurance documents including claim forms, policy agreements, denial letters, approval notices, and coverage verifications
Schema Documentation
synthetic_claims.csv
Data Ranges:
- Claim amounts: $100 - $150,000
- Claim dates: 2020-01-01 to 2024-01-01
- Fraud scores: 0.000 to 1.000 (higher = more suspicious)
synthetic_policies.csv
Data Ranges:
- Premium amounts: $50 - $5,000 per month
- Coverage amounts: $25,000 - $1,000,000
- Start dates: 2019-01-01 to 2024-01-01
synthetic_documents.txt
Document Types:
- Claim Forms - Detailed claim submission documents
- Policy Agreements - Insurance policy contracts
- Denial Letters - Claim rejection notifications
- Approval Notices - Claim approval confirmations
- Coverage Verifications - Policy coverage status documents
Content Structure: Each document is separated by a line of equals signs (=) and contains realistic insurance document content including policy numbers, names, dates, amounts, and descriptions.
Usage Instructions
Loading the Data
Python with pandas
import pandas as pd
# Load claims data
claims_df = pd.read_csv('synthetic_claims.csv')
print(f"Loaded {len(claims_df)} claims")
# Load policies data
policies_df = pd.read_csv('synthetic_policies.csv')
print(f"Loaded {len(policies_df)} policies")
# Load documents
with open('synthetic_documents.txt', 'r') as f:
documents = f.read().split('\n\n' + '='*60 + '\n\n')
print(f"Loaded {len(documents)} documents")R
# Load claims data
claims <- read.csv('synthetic_claims.csv')
cat(sprintf("Loaded %d claims\n", nrow(claims)))
# Load policies data
policies <- read.csv('synthetic_policies.csv')
cat(sprintf("Loaded %d policies\n", nrow(policies)))Example Analysis
Fraud Detection Analysis
import pandas as pd
import matplotlib.pyplot as plt
claims = pd.read_csv('synthetic_claims.csv')
# Analyze fraud scores by policy type
fraud_by_type = claims.groupby('policy_type')['fraud_score'].mean()
print(fraud_by_type)
# High-risk claims (fraud score > 0.7)
high_risk = claims[claims['fraud_score'] > 0.7]
print(f"High-risk claims: {len(high_risk)}")Premium Analysis
import pandas as pd
policies = pd.read_csv('synthetic_policies.csv')
# Average premium by customer segment
avg_premium = policies.groupby('customer_segment')['premium'].mean()
print(avg_premium)
# Coverage to premium ratio
policies['coverage_ratio'] = policies['coverage_amount'] / (policies['premium'] * 12)
print(policies[['policy_id', 'product_type', 'coverage_ratio']].head())Use Cases
- Machine Learning Model Training
- Fraud detection models
- Claim amount prediction
- Customer segmentation
- Risk assessment
- Software Testing
- ETL pipeline testing
- Database integration testing
- API endpoint testing
- UI/UX testing
- Education & Training
- Data analysis tutorials
- Insurance domain education
- SQL query practice
- Visualization exercises
- Prototyping & Development
- Dashboard development
- Report generation
- Analytics tool development
- Business intelligence solutions
Data Quality Notes
- Completeness: All required fields are populated (no missing values)
- Consistency: Date formats are standardized (YYYY-MM-DD)
- Validity: All values fall within realistic ranges
- Uniqueness: IDs are unique within each dataset
- Synthetic Nature: Data is randomly generated and may not reflect real-world distributions perfectly
Limitations
- Data distributions may not perfectly match real insurance industry patterns
- Relationships between claims and policies are not explicitly linked
- Temporal patterns are randomized
- Geographic information is not included
- No personally identifiable information (PII) is present
File Information
- Format: CSV files use comma delimiters with headers
- Encoding: UTF-8
- Line Endings: Unix-style (LF)
- Size: Approximately 150KB total
License
This synthetic dataset is provided as-is for educational and development purposes. Since all data is completely synthetic, there are no privacy or confidentiality concerns.
Contact & Support
For questions, issues, or suggestions regarding this dataset, please refer to the repository documentation or contact the maintainers.
Version History
- v1.0 (2026-01-07): Initial release with 1,000 claims, 500 policies, and 50 documents
IMPORTANT: This data is entirely synthetic and should not be used for making real-world insurance decisions or policy determinations.
