Hans outlines an actuarial modeling process using Axis software to project cash flows and reserves. Hans proposes using AI and machine learning for bucketing policies into representative records. This simplifies complex datasets to enable faster financial evaluations.
Here is a detailed breakdown of our conversation:
1. The Bottleneck: Volume vs. Processing Time
Hans is working with an existing software system (Axis) that models insurance products to produce cash flows and reserves. The critical issue is that this system processes every policy record individually, running them "one by one". This creates a significant bottleneck because client extracts typically contain 50,000 to 60,000 policies. Running each of these records individually requires a massive amount of CPU power and takes a very long time to complete. Hans emphasizes that if you run them one by one, "it's going to take you forever to finish".
2. The Goal: Rapid Assessment
Hans needs a way to evaluate these portfolios fast. The objective is to quickly assess whether a product is profitable or if the company is selling a "bad product" without waiting for the lengthy, itemized processing of the current system. Hans notes that attempting to rebuild the entire existing system... which took years to develop... would be a "rabbit hole" and is not the goal. Instead, the goal is to create a "quick and dirty" method to generate cash flows and make evaluations rapidly.
3. The Specific Task: "Bucketing" via Machine Learning
Hans is asking for a solution that uses AI or machine learning to compress the data before it is modeled.•
- The Concept: Instead of running 50,000 records, the speaker wants to group or "bucket" similar policies together.
- The Target: The aim is to reduce the dataset significantly, such as turning 50,000 records into 5,000, or compressing 151 records into just 5 "model points".
- The Criteria: These condensed records (or averages) must result in cash flows that are mathematically "close" to what would have been produced if all original records were run individually.
Summary of the Problem
Hans is facing a computational efficiency problem. They need to avoid the slow, resource-heavy process of running tens of thousands of individual insurance records by using AI to intelligently group them into a smaller, representative set of "model points" that yield accurate financial results
Notes
Based on the conversation in the sources, Hans distinguishes between "constants" (the fixed logic and features within a model) and "variables" (the changing data inputs and assumption sets).
Here is an explanation of how these concepts function within the AXIS system and how they relate to your project.
1. The Constants: The "Cell" and Product Features
In the AXIS system, the Cell is the "building block" where the logic remains constant.
- Uniformity: Hans emphasizes that within a single cell, "everything is the same. Nothing is different here". Once you assign policies to a specific cell, they are all modeled using the exact same calculation methods.
- Product Features: The specifications of the product (e.g., is it whole life? Is it an annuity?) are defined in the cell. These features do not change from policy to policy within that group; they are fixed rules.
2. The Variables: Assumptions and Records
While the calculation logic (the cell) remains constant, Hans identifies two main types of variables that feed into that logic:
A. Assumption Sets (Configuration Variables) Hans explicitly states, "Assumption sets are the ones where it's a variable can change"
- Switches: You do not code these manually; instead, you use "switches" to select different tables
- Scenarios: You might change a variable to use a specific mortality table or lapse rate table. If you flip a switch to a different assumption table, the resulting cash flows will change.
B. Policy Records (Input Variables) The most granular variables come from the client "extract" (the data list of policyholders). Hans notes that while the cell logic is identical, "what changes is what's on the record"
- Specific Inputs: The key variables that differ for every individual person include:
- Premiums: The amount the policyholder pays
- Face Amount: The size of the policy payout
- Age: The age of the policyholder
Why This Matters for the Project
This distinction between constants and variables is the foundation of the "bucketing" solution Hans is proposing.
Because the constants (product features and calculation logic) are identical for every policy in a cell, you do not need to worry about the math changing. Therefore, the AI task is to focus entirely on compressing the variables.
Hans suggests you can simplify the workload by mathematically combining these variables:
- Averaging: Can you find a "weighted average" age that represents 151 different people?
- Summing: Can you sum up all the premiums and face amounts into one large number?
By averaging and summing the variables while keeping the constants (the cell) the same, you can run 5 representative records instead of 151 and still get a financial result that is "close" to the actual total
Initial strategy
The Two-Part Strategy:
Part 1: The "Lofty Goal" (The AI Model)
This is the ambitious objective of creating a fast, "quick and dirty" evaluation tool
- The Problem: The current system (Axis) runs every policy one by one, which takes foreve
- The Solution: Build an AI tool that can "bucket" 50,000 policies into a small number of representative records (e.g., 5,000)
- The Output: The tool should instantly generate cash flows and reserves that are mathematically "close" to the official system, allowing the company to quickly judge if a product is profitable
Part 2: The Workflow (The Foundation)
This part focuses on automating the manual work Hans currently performs to prepare data for the system
- The Task: You need to understand how Hans manually sorts policies into "cells" (groups) and calculates the "permutations" for the product feature matrix
- The Logic: This process relies on "rational logic" rather than complex math. Hans believes that if you understand how he manually categorizes data, you can train a machine to do this sorting faster
- The Connection: Hans emphasizes that "Part 2 is going to help Part 1." You cannot build the fast AI model (Part 1) until you understand the underlying structure of how policies are grouped into cells (Part 2)
Cell?
1. The "Container" Concept
Think of a Cell as a specific container for a product type.
- Rules: You define the rules of the product inside the cell (e.g., Is it whole life? Is it an annuity?)
- Uniformity: Once you assign policies to a cell, the system treats them all with the exact same logic. Hans states, "In the cell... everything is the same. Nothing is different here".
2. Switches, Not Code
Unlike open coding environments (like Python or R), you do not write scripts to define these rules.
- Configuration: You "set switches" to configure the model
- Example: If you need to change a mortality assumption, you flip a switch to point to a different table rather than rewriting a formula
Based on the meeting, Bucketing is identified as the mathematical core of the solution. Since the "Cell" contains the fixed logic, bucketing is defined as the process of compressing the variable data within that cell.
Here is the breakdown of how Hans proposes this methodology:
1. The Goal: Drastic Reduction
Hans aims to move away from the resource-heavy process of running every single record individually.
- The Target: Instead of processing 151 individual records, the goal is to create just 5 "model points" that represent the entire group.
- The Scale: Applied to a larger dataset, this translates to turning an extract of 50,000 policies into a streamlined set of 4,000 or 5,000 records.
2. The Method: Summing vs. Averaging
To create these "model points," the system must mathematically combine data from individual policies using two distinct approaches:
| Data Type | Mathematical Approach | Reasoning |
Financials (e.g., Face Amounts, Premiums) | Summing | You cannot average the money. You must sum the payouts and premiums because the company is liable for the total amount. |
Demographics (e.g., Age) | Averaging | You need a representative attribute. By finding the "weighted average" age, you can run a single calculation that behaves like the whole group. |
3. The Validation
The ultimate test of this AI model is comparison.
- The Output Test: When you run the 5 compressed records, the resulting cash flows must be mathematically "close" to the result of running the original 151 records individually.
- The Benefit: This method saves massive amounts of computing power because the complex actuarial math runs 5 times instead of 151 times.
1. Cash Flows (Real Money)
Cash flows represent the actual money moving in and out of the company over time, often projected over a 30–40 year horizon.
- Inflows: The primary inflow is Premiums (the money the policyholder pays).
- Outflows: The company expects to pay out for:
- Expenses: Operating costs.
- Death Benefits: Payouts if a policyholder dies.
- Surrender Benefits: Payouts if a policyholder cancels the policy.
- The Logic: These are based on probabilities. The system calculates the mathematical "expectation" of a policyholder dying or lapsing (canceling) to project these numbers accurately.
2. Reserves (The "Fictitious" Non-Cash Item)
Hans describes reserves as "non-cash items" or "fictitious" because they do not represent money currently changing hands.
- Definition: This is the amount of money the company is legally required to hold today to ensure they can pay future claims.
- The Math: The reserve is calculated as the Net Present Value (NPV) of the future cash stream.
- The Conflict: A product might generate positive cash flow but still look "bad" on a financial statement. This happens when the required reserves are so high that they wipe out initial accounting profits.