alidenewade's picture
Update README.md
b6acbd8 verified

A newer version of the Gradio SDK is available: 5.47.0

Upgrade
metadata
title: Actuarial Model Point Generator
emoji: ๐Ÿ—๏ธ
colorFrom: green
colorTo: red
sdk: gradio
sdk_version: 5.31.0
app_file: app.py
pinned: false
license: mit
short_description: Generate synthetic actuarial model points
tags:
  - actuarial
  - insurance
  - model-points
  - synthetic-data
  - data-generation
  - gradio
  - dashboard
  - excel

๐Ÿ—๏ธ Actuarial Model Point Generator

A flexible Gradio app to generate fully customized synthetic seriatim model points for use in actuarial testing, clustering, or analytics. This tool now also provides immediate data insights through interactive summaries and visualizations.

Open in Spaces


๐ŸŒŸ Whatโ€™s New

This version enhances data generation with complete UI control and adds interactive data analysis features:

  • ๐Ÿ‘ฅ Number of policies (100 to 50,000)
  • ๐ŸŽฒ Random seed for reproducibility
  • ๐Ÿ‘ถ Age range (min/max)
  • ๐Ÿ’ต Sum assured range
  • ๐Ÿ“† Multiple selectable policy terms (5โ€“30 years)
  • ๐Ÿง‘ Include or exclude sex (M/F)
  • ๐Ÿ“ฆ Choose between fixed or variable policy count
  • ๐Ÿ“Š In-depth Data Insights:
    • Descriptive statistics for key numerical fields.
    • Distribution plot for 'Sum Assured' with a fitted normal curve.
    • Frequency tables for categorical data like 'Sex' and 'Policy Term'.
    • All summaries presented in an easy-to-use Tabbed interface below the main data table.

๐Ÿงฎ Output Columns

Each generated row represents a policy and includes the following columns:

  • policy_id: A unique identifier for each policy, starting from 1.
  • age_at_entry: Issue age.
  • sex: "M", "F", or "U" (unspecified).
  • policy_term: Chosen from selected terms.
  • policy_count: Fixed (1) or random (1โ€“100).
  • sum_assured: Uniformly distributed between min/max.
  • duration_mth: In-force duration, capped by policy term.

๐Ÿ“Š Data Analysis & Insights

Beyond data generation, the app now provides immediate analytical feedback on the generated dataset through dedicated tabs:

  • Numerical Summary Tab: Get a quick overview of the numerical columns (age_at_entry, sum_assured, duration_mth, policy_count) with key descriptive statistics like mean, standard deviation, min/max values, and quartiles.
  • Distribution Plot Tab: Visualize the distribution of the sum_assured column. A histogram shows the actual generated data's distribution (which is uniform based on inputs), and a normal bell curve is fitted and overlaid for illustrative comparison, helping to understand the data's spread and central tendency.
  • Categorical Summary Tab: Understand the composition of your synthetic portfolio with frequency counts and percentages for sex and policy_term distributions.

โœ… How to Use

  1. Adjust your generation parameters using the filters on the left panel.
  2. Click the โ€œGenerate Model Pointsโ€ button.
  3. Preview the generated data in the main table.
  4. Explore the interactive summaries (descriptive statistics, distribution plots, categorical breakdowns) in the tabs located below the main data table.
  5. Click the โ€œDownload Excelโ€ button to save the generated data table.

๐Ÿง  Use Cases

  • Cluster-based model point selection and analysis.
  • Stress testing actuarial models and validating assumptions.
  • Developing and testing new insurance products or features.
  • Scenario planning for different product mixes or demographic profiles.
  • Educational tool for teaching actuarial concepts and data analysis.
  • Rapidly creating datasets for model validation or machine learning tasks in an insurance context.

๐Ÿ“ฆ File Export

The download button exports the generated data table to an Excel file (.xlsx). The policy_id is included as the first column, and the DataFrame index is omitted from the file. Warnings will be shown if input parameters are invalid (e.g., minimum age โ‰ฅ maximum age).


๐Ÿ› ๏ธ Local Installation

# Clone the repo
git clone [https://github.com/alidenewade/actuarial-model-point-generator.git](https://github.com/alidenewade/actuarial-model-point-generator.git)
cd actuarial-model-point-generator

# Install dependencies
pip install -r requirements.txt

Run the app

python app.py

๐Ÿ™Œ Acknowledgements

Huge thanks to the Lifelib community for their open-source contributions to life actuarial modeling in Python. This project draws inspiration from their work on model point clustering and stochastic modeling tools.

Check them out at: https://github.com/lifelib-dev/lifelib

๐Ÿ“„ License

This project is released under the MIT License.

Created with โค๏ธ by @alidenewade for the actuarial analytics community.