Skip to main content

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
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 and GPU notes

  • Install the correct PyTorch build for your platform/GPU before installing extras.
  • Torch Geometric requires platform-specific wheels; follow the official PyG install guide.
  • Multi-GPU uses torch.distributed/DataParallel where supported; Windows disables CUDA DDP.

PyPI Upload (scripts)

This repo includes upload scripts for Windows and Linux/macOS.

Windows

set TWINE_PASSWORD=your_pypi_token_here
python -m build
upload_to_pypi.bat

Linux / macOS

chmod +x upload_to_pypi.sh
export TWINE_PASSWORD='your_pypi_token_here'
python -m build
./upload_to_pypi.sh

Makefile (if make is available)

make build
make upload

Tips

  • Never commit tokens to version control.
  • Use environment variables or secret managers to store credentials.
  • Test with TestPyPI before publishing when needed.

Project details


Release history Release notifications | RSS feed

This version

0.7.8

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ins_pricing-0.7.8.tar.gz (307.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ins_pricing-0.7.8-py3-none-any.whl (373.2 kB view details)

Uploaded Python 3

File details

Details for the file ins_pricing-0.7.8.tar.gz.

File metadata

  • Download URL: ins_pricing-0.7.8.tar.gz
  • Upload date:
  • Size: 307.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for ins_pricing-0.7.8.tar.gz
Algorithm Hash digest
SHA256 2ace47e83d740c3f823aea79f02681d19790de0aae745df9a4d44109b8ea291d
MD5 e8e047601b376669e4ea2085a1a772cf
BLAKE2b-256 e17017db55e7bb4e6f26e101df2c9024567bb97a0e1d6469337ef5729adf9f11

See more details on using hashes here.

File details

Details for the file ins_pricing-0.7.8-py3-none-any.whl.

File metadata

  • Download URL: ins_pricing-0.7.8-py3-none-any.whl
  • Upload date:
  • Size: 373.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for ins_pricing-0.7.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f3dc1fd8a0563cbe9f90cc0bd9c7cb7c20271bbe3c0b8e330184b2569fbd169a
MD5 b4c2698d8375a0bd01259ff2eff15dda
BLAKE2b-256 00d1ff43d951d45e9d6b898e9e3d9b409c20df5d6d567b0b6e300ea5d55936e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page