← All projects Reinforcement learning · Personalization

Mobile Health Interventions

Adapting the timing and content of mobile health recommendations using sensor data and human feedback.

The research hypothesis

Personalizing a health intervention often involves trying advice, observing its effects, and adjusting it at a later appointment. Mobile devices can shorten that feedback loop, but the intervention must decide both what advice fits the person and when they can act on it, using limited individual data.

My hypothesis was that a mobile intervention could use sensing, AI, and user feedback to adapt both recommendation content and timing. The thesis tests this idea with separate, coordinated models that respond to behavior and context. SleepU is the system I built to study whether this approach could support adherence and behavior change.

Comparison of patient, clinician, and mobile health intervention cycles, showing initial treatment selection, intervention timing, and treatment adjustment
Traditional and mobile health intervention cycles. The mobile approach makes the timing and selection of advice part of the personalization process. Thesis Figure 2.1.

SleepU · Doctoral thesis

Sleep advice needs to fit a person’s routines and leave them a realistic opportunity to act. To study this in everyday life, I designed, built, and evaluated SleepU, an Android intervention that learns on device from wearable sensing, sleep diaries, and user feedback. The thesis contributes:

  • Timing and content personalization. Combined mobile-receptivity detection with contextual bandits to adapt when advice arrives and which recommendation is selected.
  • An end-to-end intervention. Built the app, sensing and feedback pipeline, and evaluated the system in two real-world deployments.
  • Evidence about adherence. Examined how context, motivation, and delivery mechanisms influence whether people follow advice.
  • Adherence prediction. Developed and evaluated machine learning models using recent behavior, prior adherence, and context.
  • A disruptive-events framework. Connected changes in routines, emotions, and device use to the breakdown of personalization during the COVID-19 pandemic.
SleepU app screens: sleep diary, notification, sleep recommendation, and home screen
SleepU app screens: (a) sleep diary, (b) notification, (c) recommendation, and (d) daily recommendations. Thesis Figure 4.2.

Learning what to recommend—and when

Advice can be relevant yet arrive at the wrong time, while a well-timed reminder can still offer advice that does not fit. Learning both decisions from limited data requires a design that can adapt without waiting for a large personal training history.

SleepU combines a contextual bandit that selects sleep advice using sleep outcomes and reported adherence with a mobile-receptivity detector that identifies opportunities to deliver reminders. Behavior-change models informed the design, and all personalization ran on the phone.

SleepU feedback loop connecting the phone, wearable, timing detector, contextual bandit, and user
SleepU combines a timing detector and contextual-bandit recommendation selection with sensing and feedback. Thesis Figure 4.1(b).

Testing SleepU in daily life

In 2019, Carnegie Mellon undergraduates took part in a study that lasted about 12 weeks. Participants wore a Fitbit to measure sleep and used their own Android phones. Thirty students completed the study.

Everyone began with about four weeks of monitoring to record their usual sleep without an intervention. They then completed two four-week phases: one using SleepU and one following a personalized sleep plan from a clinician. Participants were randomly assigned to start with either the app or the clinician-guided phase.

During the app phase, participants filled out a daily sleep diary. SleepU used their sleep data and feedback to select up to three recommendations per day and sent notifications to prompt them to read the advice. The next day, participants reported whether they had followed it. We compared sleep and motivation across phases and examined how recommendation timing affected adherence during app use.

Results from the 2019 study

Among the 23 participants with enough data for the sleep analysis, the app phase averaged 23 minutes more sleep per night than baseline and 15 minutes more than the clinician-guided phase.

Receptivity-triggered recommendations also showed higher adherence than randomly timed recommendations. The thesis examined how context and motivation affected whether participants followed the advice.

Study 1 adherence results: odds ratios for contextual factors and adherence by notification trigger
Study 1: (a) factors associated with adherence and (b) adherence by recommendation trigger. Thesis Figure 7.2.

Predicting whether advice will be followed

Being available to read advice does not mean someone will follow it. To extend personalization beyond receptivity, I developed an intraday adherence-prediction model that estimates whether a participant would follow sleep advice at different times of day.

The model used recent adherence, time of day, baseline sleep patterns, previous-day step counts, and cognitively demanding activity before bed. Training labels came from participants’ reports of whether they followed the previous day’s advice. The dataset contained 1,158 observations from 19 participants, with an average of 20 days of data per person.

I started with 40 candidate inputs and selected the most informative features. For the neural-network pipeline, I scaled the inputs and balanced the training examples. A multilayer perceptron achieved a mean F1 score of 0.755 in five-fold evaluation, with different participants in the training and test sets.

This offline evaluation explored adherence prediction as a further input to personalization. The goal is to identify periods when someone may need more support to follow advice.

Adherence-classifier performance
ModelF1 scoreBalanced accuracy
Uniform-random baseline0.563≈0.500
Majority-class baseline0.7680.500
Multilayer perceptron0.7550.703
AdaBoost · 7 estimators0.7660.660
AdaBoost · 20 estimators0.7930.645
Elastic net · class-balanced training0.7210.676
Mean scores across five folds, with participants separated between training and test sets. Higher is better. Balanced accuracy gives equal weight to the two classes. The multilayer perceptron had the highest balanced accuracy; AdaBoost with 20 estimators had the highest F1 score. Thesis, Table 8.3 ↗

When routines break

In 2020, 72 students completed a seven-week follow-up study. After one week of monitoring, they used SleepU for six weeks. One group received AI-selected recommendations; the other received randomly selected recommendations. Each participant tried both notification schedules—random timing and receptivity-based timing—in separate three-week phases.

The follow-up began just before COVID-19 pandemic restrictions took effect and did not reproduce the earlier behavior-change results. Comparing the deployments and participants’ accounts revealed changes in routines, emotions, and phone use that disrupted opportunities to act on advice.

I developed the disruptive-events framework to explain how those changes affected receptivity, adherence, and personalization. It provides a way to reason about interventions when the context they depend on changes abruptly.

Disruptive-events framework connecting changes during the COVID-19 pandemic in interaction, routine, and emotion with adherence and personalization
The disruptive-events framework connects changes in interaction, routine, and emotion during the COVID-19 pandemic to the intervention. Colors map to the COM-B behavior-change model. Thesis Figure 10.5.

Earlier work: long-term activity recommendations

A recommendation can affect more than the next action, so selecting activities also requires considering their longer-term effects. Before SleepU, I adapted Q-learning to explore relationships between daily behavior, mood, and energy in the StudentLife dataset. The amount of data needed for learning helped motivate the more sample-efficient approach used in SleepU.

Full list →