Reusable modelling, pricing, governance, and reporting utilities.
Project description
Insurance-Pricing
A reusable toolkit for insurance modeling, pricing, governance, and reporting.
Overview
Insurance-Pricing (ins_pricing) is an enterprise-grade Python library designed for machine learning model training, pricing calculations, and model governance workflows in the insurance industry.
Core Modules
| Module | Description |
|---|---|
| modelling | ML model training (GLM, XGBoost, ResNet, FT-Transformer, GNN) and model interpretability (SHAP, permutation importance) |
| pricing | Factor table construction, numeric binning, premium calibration, exposure calculation, PSI monitoring |
| production | Model prediction, batch scoring, data drift detection, production metrics monitoring |
| governance | Model registry, version management, approval workflows, audit logging |
| reporting | Report generation (Markdown format), report scheduling |
| utils | Data validation, performance profiling, device management, logging configuration |
Quick Start
# Model training with Bayesian optimization
from ins_pricing import bayesopt as ropt
model = ropt.BayesOptModel(
train_data, test_data,
model_name='my_model',
resp_nme='target',
weight_nme='weight',
factor_nmes=feature_list,
cate_list=categorical_features,
)
model.bayesopt_xgb(max_evals=100) # Train XGBoost
model.bayesopt_resnet(max_evals=50) # Train ResNet
model.bayesopt_ft(max_evals=50) # Train FT-Transformer
# Pricing: build factor table
from ins_pricing.pricing import build_factor_table
factors = build_factor_table(
df,
factor_col='age_band',
loss_col='claim_amount',
exposure_col='exposure',
)
# Production: batch scoring
from ins_pricing.production import batch_score
scores = batch_score(model.trainers['xgb'].predict, df)
# Model governance
from ins_pricing.governance import ModelRegistry
registry = ModelRegistry('models.json')
registry.register(model_name, version, metrics=metrics)
Project Structure
ins_pricing/
├── cli/ # Command-line entry points
├── modelling/
│ ├── core/bayesopt/ # ML model training core
│ ├── explain/ # Model interpretability
│ └── plotting/ # Model visualization
├── pricing/ # Insurance pricing module
├── production/ # Production deployment module
├── governance/ # Model governance
├── reporting/ # Report generation
├── utils/ # Utilities
└── tests/ # Test suite
Installation
# Basic installation
pip install ins_pricing
# Full installation (all optional dependencies)
pip install ins_pricing[all]
# Install specific extras
pip install ins_pricing[bayesopt] # Model training
pip install ins_pricing[explain] # Model explanation
pip install ins_pricing[plotting] # Visualization
pip install ins_pricing[gnn] # Graph neural networks
Multi-platform & GPU installation notes
- PyTorch (CPU/GPU/MPS): Install the correct PyTorch build for your platform/GPU first (CUDA on
Linux/Windows, ROCm on supported AMD platforms, or MPS on Apple Silicon). Then install the
optional extras you need (e.g.,
bayesopt,explain, orgnn). This avoids pip pulling a mismatched wheel. - Torch Geometric (GNN):
torch-geometricoften requires platform-specific wheels (e.g.,torch-scatter,torch-sparse). Follow the official PyG installation instructions for your CUDA/ROCm/CPU environment, then installins_pricing[gnn]. - Multi-GPU: Training code will use CUDA when available and can enable multi-GPU via
torch.distributed/DataParallelwhere supported. On Windows, CUDA DDP is not supported and will fall back to single-GPU or DataParallel where possible.
Requirements
- Python >= 3.9
- Core dependencies: numpy >= 1.20, pandas >= 1.4
License
Proprietary
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ins_pricing-0.4.3.tar.gz.
File metadata
- Download URL: ins_pricing-0.4.3.tar.gz
- Upload date:
- Size: 277.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
218854b15a89b3dd79835a8a111c85b4f15717fc806fd8dbee20a8c4f1d6e5d5
|
|
| MD5 |
e117b3d4d628316083a44e968b7c3251
|
|
| BLAKE2b-256 |
342caeb263cf2a6c6170b68e701d79a3f8c949fc1239a105401340ef01859c1f
|
File details
Details for the file ins_pricing-0.4.3-py3-none-any.whl.
File metadata
- Download URL: ins_pricing-0.4.3-py3-none-any.whl
- Upload date:
- Size: 337.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d743699e79f58cea7e3ccfeb20a9e056fe46f40de9888c6e41640a0ac04d8b0a
|
|
| MD5 |
4940f9c468e67c73ed871bf0704c80f0
|
|
| BLAKE2b-256 |
51a99525a2459ecb541d23c0e2bd4714c5138510b94fbc6c55122f947212b360
|