Patient Segmentation for Targeted Health Campaigns
Patient segments and their significant variables identified from combined appointment and outcomes data, driving AI-generated campaign emails per segment
A patient segmentation pipeline that combined appointment records and Patient-Reported Outcome Measures to find behavioural patterns, then used the resulting segments to drive targeted, LLM-generated email campaigns.
- Association rule mining
- Clustering
- Classification
- Azure ML Studio
- OpenAI
- Python
- Pandas
Problem
A healthcare provider held two large data sources, patient appointment records and Patient-Reported Outcome Measures (PROMs), with no systematic way to see what distinguished one group of patients from another or which of those differences were worth acting on. Email campaigns went out the same way to everyone, regardless of history or reported outcomes.
Approach
- Clustering and association rule mining across the combined appointment and PROMs data, to surface behaviour patterns and segments rather than relying on the demographic buckets already in use.
- Classification to identify which variables actually separated segments, so the output was a short list of variables that mattered, not a wall of correlations.
- Prompt templates built per segment, so a generated email pulled in the variables and language relevant to that group instead of a single generic template.
Keeping segmentation and generation as separate stages mattered. The clustering had to be defensible on its own (which variables, which associations) before any email copy got generated from it, so a marketer could see why a patient landed in a segment rather than trust a black box.
Result
Patient segments and their significant variables and associations identified from the combined dataset, with working prompt templates producing customised campaign emails per segment, built on Azure ML Studio with OpenAI for generation.
What I’d do differently
I would validate segment stability over time before building templates on top of them. Segments were treated as fixed once identified, but patient behaviour shifts, and a segment that drifts underneath a campaign built on it can quietly send the wrong message to the wrong group.