Medicare Prospective PMPM and Encounter Prediction Models
Model ID: Medicare LDS 2023 Prospective PMPM + Encounter Model Bundle Model Types: XGBoost regressor bundle (Tweedie for PMPM, Poisson for PMPC) Dataset: 2023 CMS Limited Data Set (LDS) 5% Sample Target Level: Member month (annualized for evaluation)
What the Models Predict
This repository contains a bundle of prospective regression models that forecast next-year healthcare cost and utilization. Models are trained using prior-year demographics and lagged clinical features (e.g., condition flags, HCCs, CMS chronic indicators) to predict outcomes for the subsequent prediction year.
The models predict outcomes at three levels of granularity:
- Total PMPM: A model predicting total paid amount PMPM (Per Member Per Month).
- Cost & Utilization by Encounter Group: Models that predict PMPM paid amount and PMPC (per-member-per-count) for broad encounter groups (INPATIENT, OUTPATIENT, OFFICE_BASED, OTHER).
- Cost & Utilization by Encounter Type: Models that predict PMPM and PMPC for granular service types (e.g., ACUTE_INPATIENT, TELEHEALTH, HOME_HEALTH, DIALYSIS).
Note on prediction type: These are prospective models — they use features from the baseline period to predict the following year’s outcomes. All core models output a rate (PMPM or PMPC) that is multiplied by member months to yield annualized values for reporting and evaluation.
Intended Use
This bundle supports forward-looking financial and operational workflows:
- Benchmarking: Comparing observed vs. predicted annual costs to identify efficiency opportunities.
- Healthcare research: Studying drivers of future cost and utilization in Medicare populations.
- Resource planning: Anticipating demand across encounter groups and service types.
- Care management: Identifying members likely to have high cost or utilization in the next year.
- Prospective forecasting: Budgeting and premium setting using next-year cost forecasts.
Model Performance
These metrics reflect performance on a held-out evaluation split from the 2023 CMS LDS data produced by the training pipeline in this repo. Models predict PMPM/PMPC rates; metrics are computed on annualized values (rate × member months). See prosp_model_eval_metrics_train.csv for full details across all targets.
Annual Cost (PMPM) — Summary
- Overall: R² 0.185, MAE% 97.06%
- Inpatient: R² 0.085, MAE% 146.33%
- Outpatient: R² 0.158, MAE% 102.83%
- Office-based: R² 0.070, MAE% 91.49%
- Other: R² 0.023, MAE% 114.80%
Annual Utilization (PMPC) — Encounter Groups
- Inpatient: R² 0.195, MAE% 134.95%
- Outpatient: R² 0.419, MAE% 77.94%
- Office-based: R² 0.315, MAE% 65.48%
- Other: R² 0.271, MAE% 83.18%
Note: The complete list of encounter type metrics (e.g., ACUTE_INPATIENT, TELEHEALTH) are included in prosp_model_eval_metrics_train.csv along with calibration factors and prediction-to-actual (P/A) ratios.
Files Included
2023_prospective_models_bundle.pkl— Bundle with trained XGBoost models, per-target calibration factors, and feature list.pmpm_encounters_prospective_train.py— Training pipeline (prospective): builds PMPM and PMPC models, logs metrics, and writes the bundle.pmpm_encounters_prospective_predict.py— Inference + evaluation script: loads the bundle, scores the prediction year, and logs metrics/predictions.prosp_model_eval_metrics_train.csv— Evaluation metrics exported from training (annualized MAE, MAE%, R², P/A ratios, calibration factors) for each target.prosp_encounter_model_feature_frequency.csv— Feature prevalence (non-zero rates) in training features used by the bundle.prosp_encounter_model_hyperparams.csv— Tuned hyperparameters used for key PMPM targets (when tuning enabled).
Understanding Model Artifacts
This repository includes CSV outputs summarizing what the prospective models learned and how they were trained.
Feature Frequency (prosp_encounter_model_feature_frequency.csv)
- Positive rate of each engineered feature in the training set (share of rows where the feature > 0).
- Useful to monitor input drift and sparsity when scoring new populations.
Hyperparameters (prosp_encounter_model_hyperparams.csv)
- Stores tuned hyperparameters for targets where tuning was enabled (e.g., OVERALL PMPM). Includes
objective,tweedie_variance_power, tree depth, regularization, andn_estimators.
Evaluation Metrics (prosp_model_eval_metrics_train.csv)
- One row per target × metric with annualized MAE, MAE%, R², prediction-to-actual ratio, calibration factor, and counts of evaluation rows.
- Includes summary rows for groups (e.g., PMPM: INPATIENT/OUTPATIENT) and detailed encounter types (e.g., PMPC: ACUTE_INPATIENT).
Quick Start
The training and inference scripts are designed to run in a Snowflake environment using Snowpark.
Prereqs:
- Snowflake account and permissions to read
MEDICARE_LDS_FIVE_MULTI_YEAR.BENCHMARKS.PERSON_YEAR_PROSPECTIVE. - A stage for model artifacts:
@MEDICARE_LDS_FIVE_PERCENT.BENCHMARKS.MODEL_STAGE. - Python deps:
pandas numpy scikit-learn xgboost snowflake-snowpark-python.
Train (writes metrics to Snowflake and uploads the bundle to the stage):
- Run
pmpm_encounters_prospective_train.pywithin a Snowpark session. It trains PMPM/PMPC models (groups and types), computes calibration factors on train, evaluates on a held-out split, and writes2023_prospective_models_bundle.pklto the stage.
Predict + evaluate (scores the prospective prediction year and logs metrics/predictions):
- Run
pmpm_encounters_prospective_predict.py. It downloads the bundle, scores the configuredSCORING_YEAR, applies calibration, logs evaluation metrics, and writes per-member predictions withBENCHMARK_KEY.
All per-target metrics, calibration factors, and feature frequencies are exported in the CSVs included in this repo for reference.