Use Case — Optimization using Linear Programming for Health Plan

Supriya Ghosh
5 min readAug 18, 2023
Free Image from Unsplash

Insurance company offers different health insurance plans to their customers. Their primary goal is to optimize the premium rates for these plans while ensuring they cover certain medical costs and meet profitability goals.

When offering health insurance plans, insurance companies need to consider several factors to optimize premiums. Optimizing premiums requires a delicate balance between these factors. Balancing these factors helps create competitive and sustainable insurance products that meet customer needs while maintaining the company’s financial health. It’s important to regularly review and adjust premiums based on changing circumstances, market dynamics, and the company’s overall financial goals.

Selecting a health insurance plan that aligns with these beneficial factors can provide customers with peace of mind, access to quality care, and financial security in case of medical needs. It’s important for individuals to carefully review plan details, compare options, and choose a plan that best suits their specific healthcare needs and preferences.

Some of these factors which are considered by most of the companies include premium rates, deductible amounts, co-payments for doctor and specialist visits, coverage percentages, revenue goals etc..

Free Image from Unsplash

Linear programming provides a powerful tool to optimize these plans efficiently. It allows insurance companies to select a subset of factors that lead to the best outcome. For instance, when determining premium rates for different health plans, companies can use linear programming to identify the most effective combination of rates that meets coverage goals, minimizes costs for both the company and the policyholders, and generates the desired revenue. By setting up a system of constraints and objectives, linear programming helps health insurance companies make data-driven decisions. For example, they can ensure that deductibles remain within acceptable limits, coverage requirements for doctor and specialist visits are met, and revenue targets are achieved. In this process, linear programming considers trade-offs and interactions among various factors to find the optimal solution that aligns with the company’s objectives. It allows insurance providers to navigate the complexity of plan design and make informed choices that benefit both the company and its customers.

In essence, linear programming offers a systematic approach for health insurance companies to strategically optimize their plans, providing a win-win scenario where customers receive comprehensive coverage at competitive rates, while the company meets its profitability and coverage goals.

Below is the depiction of one such case using mathematical models and R programming.

A simple Case Study: Health Insurance Plan Optimization using Linear Programming

Free image from Unsplash

Background: ABC Insurance Company wants to offer three different health insurance plans to its customers: Plan A, Plan B, and Plan C. The company wants to optimize the premium rates for these plans while ensuring they cover certain medical costs and meet profitability goals.

Options:

  1. Plan A:
  • Premium: $200
  • Deductible: $1000
  • Co-payments: $30 for doctor visits, $70 for specialists

2. Plan B:

  • Premium: $180
  • Deductible: $1200
  • Co-payments: $40 for doctor visits, $80 for specialists

3. Plan C:

  • Premium: $220
  • Deductible: $800
  • Co-payments: $20 for doctor visits, $60 for specialists

Constraints:

  1. The company wants to ensure that the average deductible across all plans is not higher than $1100.
  2. The company wants to cover at least 80% of doctor visit costs and 70% of specialist visit costs across all plans and also aim for Co-payments to be not more than 20% of the total premium paid across all plans.
  3. The company wants to generate a total of at least $1,000,000 from premiums from all the plans combined.

Objective: Minimize the total premium rate for offering the plans while satisfying the constraints.

Linear Programming Formulation:

Let:

  • x = number of customers choosing Plan A
  • y = number of customers choosing Plan B
  • z = number of customers choosing Plan C

Variables:

  • Total Premium (P) = 200x + 180y + 220z

Constraints:

  1. Deductible Constraint:
  • 1000x + 1200y + 800z ≤ 1100(x + y + z)

2. Coverage Constraints:

  • 0.8 * 30x + 0.8 * 40y + 0.8 * 20z ≥ 0.80 * (0.20 * TotalPremium)
  • 0.7 * 70x + 0.7 * 80y + 0.7 * 60z ≥ 0.70 * (0.20 * TotalPremium)

3. Premium Revenue Constraint:

  • 200x + 180y + 220z ≥ 1000000

Objective Function: Minimize P = 200x + 180y + 220z

R code:

# Install and load the lpSolve package
library(lpSolve)
#Define the coefficients for the objective function, constraints,
# and right-hand side values:

# Coefficients for the objective function (premium rates)
obj <- c(200, 180, 220)
# Coefficients for the constraints
TotalPremium <- 1000000
const.mat <- matrix(c(
-100, 100, -300,
0.8 * 30,0.8 * 40, 0.8 * 20,
0.7 * 70,0.7 * 80,0.7 * 60,
200,180,220), ncol = 3, byrow = TRUE)

dir <- c("<=",">=",">=",">=")

# Right-hand side values of the constraints
rhs <- c(0, 0.80 * (0.20* TotalPremium),0.70 * (0.20* TotalPremium),
TotalPremium)

# Create the optimization model
lp.model <- lp("min", obj, const.mat, dir, rhs)

# Check the status of the optimization solution
if (lp.model$status == 0) {
optimal_solution <- lp.model$solution
minimized_premium <- lp.model$objval
# Rounding off the solution
optimal_solution1 <- round(optimal_solution,digits = 0)
minimized_premium1 <- round(minimized_premium,digits = 0)
} else {
cat("No feasible solution found.")
optimal_solution <- NULL
minimized_premium <- NULL
}

Solution: Using a linear programming “lpSolve” package, the optimal solution is:

  • x = 0 customers choosing Plan A
  • y = 4286 customers choosing Plan B
  • z = 1429 customers choosing Plan C

This solution satisfies all the constraints and minimizes the total premium rate to $10,85,714.

Conclusion: By formulating the problem as a linear programming optimization, ABC Insurance Company was able to determine an optimal distribution of customers across different health insurance plans to achieve the desired profitability while adhering to various constraints related to deductible, coverage, and premium revenue. This approach helped the company make data-driven decisions about their product offerings.

Hope this article captured the insights for which it was intended.

Thanks for reading!!!

--

--

Supriya Ghosh

Data Science practitioner, researcher — love to contribute my experiences. Follow: @isupriyaghosh Subscribe:https://supriya2211.medium.com/subscribe