Machine learning for resupply attrition predictions

WO2026207217A1PCT designated stage Publication Date: 2026-10-01RESMED DIGITAL HEALTH INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/US2026/020920
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-26
Filing Date
2026-03-26
Publication Date
2026-10-01

Smart Images

  • Figure US2026020920_01102026_PF_FP_ABST
    Figure US2026020920_01102026_PF_FP_ABST
Patent Text Reader

Abstract

Techniques for improved machine learning are provided. Resupply history for a plurality of users of respiratory therapy is accessed. It is determined that a first user of the plurality of users is approaching resupply attrition based on the resupply history. In response to determining that the first user is approaching resupply attrition, therapy data, for the first user, associated with the respiratory therapy is collected, and an attrition prediction for the first user is generated based on processing the therapy data using a machine learning model. An intervention is facilitated for the first user based on the attrition prediction.
Need to check novelty before this filing date? Find Prior Art

Description

1 RSMD-0138PC-163678 MACHINE LEARNING FOR RESUPPLY ATTRITION PREDICTIONSCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims benefit of co-pending United States Provisional Patent Application Serial No. 63 / 777,866 filed March 26, 2025. The aforementioned related patent application is herein incorporated by reference in its entirety.TECHNICAL FIELD

[0002] The present disclosure relates generally to machine learning, and more particularly, to use of machine learning to predict resupply attrition.

[0003] Many individuals suffer from sleep-related and / or respiratory-related disorders such as, for example, Periodic Limb Movement Disorder (PLMD), Restless Leg Syndrome (RLS), Sleep-Disordered Breathing (SDB) such as Obstructive Sleep Apnea (OSA) and Central Sleep Apnea (CSA), Cheyne-Stokes Respiration (CSR), respiratory insufficiency, Obesity Hyperventilation Syndrome (OHS), Chronic Obstructive Pulmonary Disease (COPD), Neuromuscular Disease (NMD), and chest wall disorders. These disorders are often treated using respiratory therapy systems.

[0004] Each respiratory therapy system generally has a respiratory therapy device connected to a user interface (e.g., a mask) via a conduit and optionally a connector. The user wears the user interface and is supplied a flow of pressurized air from the respiratory therapy device via the conduit. In many respiratory therapy regimes, users are expected to replace various components according to specified guidelines, such as periodically or after a defined amount of use. However, such resupply behavior is dynamic and difficult (or impossible) to predict, as, even with clearly defined guidelines, individual users can vary substantially in their preferences.

[0005] Improved systems and techniques to predict resupply attrition to improve therapy (and related systems) are needed.SUMMARY

[0006] According to some implementations of the present disclosure, a method includes: accessing resupply history for a plurality of users of respiratory therapy; determining that a first user of the plurality of users is approaching resupply attrition based on the resupply history; in response to determining that the first user is approaching resupply attrition: collecting first therapy data, for the first user, associated with the respiratory therapy; and generating a first attrition prediction for the first user based on processing the first therapy data using a machine learning model; and a first intervention is facilitated for the first user based on the first attrition prediction.

[0007] According to some implementations of the present disclosure, a system includes a control system and a memory. The control system includes one or more processors. The memory2 RSMD-0138PC-163678 has stored thereon machine readable instructions. The control system is coupled to the memory, and any one of the methods disclosed herein is implemented when the machine executable instructions in the memory are executed by at least one of the one or more processors of the control system.

[0008] Other aspects provide processing systems configured to perform the aforementioned method as well as those described herein; non-transitory, computer-readable media comprising instructions that, when executed by one or more processors of a processing system, cause the processing system to perform the aforementioned methods as well as those described herein; a computer program product embodied on a computer-readable storage medium comprising code for performing the aforementioned methods as well as those further described herein; and a processing system comprising means for performing the aforementioned methods as well as those further described herein.

[0009] The above summary is not intended to represent each implementation or every aspect of the present disclosure. Additional features and benefits of the present disclosure are apparent from the detailed description and figures set forth below.BRIEF DESCRIPTION OF THE DRAWINGS

[0010] So that the manner in which the above-recited features of the present disclosure can be understood in detail, a more particular description, briefly summarized above, may be had by reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only certain typical aspects of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective embodiments.

[0011] FIG. 1 depicts an example data timeline for using machine learning to predict resupply attrition, according to some embodiments of the present disclosure.

[0012] FIGS. 2A, 2B, 2C, and 2D depict example data timelines for training machine learning models to predict resupply attrition, according to some embodiments of the present disclosure.

[0013] FIG. 3 depicts an example system for training machine learning models to predict resupply attrition, according to some embodiments of the present disclosure.

[0014] FIG. 4 depicts an example system for using machine learning to predict resupply attrition, according to some embodiments of the present disclosure.

[0015] FIG. 5 depicts an example workflow for using machine learning to predict resupply attrition, according to some embodiments of the present disclosure.

[0016] FIG. 6 depicts an example workflow for feature generation to improve resupply attrition predictions, according to some embodiments of the present disclosure.

[0017] FIG. 7 depicts an example data timeline for feature generation to predict resupply3 RSMD-0138PC-163678 attrition, according to some embodiments of the present disclosure.

[0018] FIG. 8 depicts an example data timeline for predicting resupply attrition over extended timeframes, according to some embodiments of the present disclosure.

[0019] FIG. 9 depicts an example system for using machine learning to improve therapy resupply, according to some embodiments of the present disclosure.

[0020] FIG. 10 is a flow diagram depicting an example method for training machine learning models to predict resupply attrition, according to some embodiments of the present disclosure.

[0021] FIG. 11 is a flow diagram depicting an example method for generating training exemplars for machine learning, according to some embodiments of the present disclosure.

[0022] FIG. 12 is a flow diagram depicting an example method for generating features for machine learning, according to some embodiments of the present disclosure.

[0023] FIG. 13 is a flow diagram depicting an example method for using machine learning to predict resupply attrition, according to some embodiments of the present disclosure.

[0024] FIG. 14 is a flow diagram depicting an example method for predicting resupply attrition over extended timeframes, according to some embodiments of the present disclosure.

[0025] FIG. 15 is a flow diagram depicting an example method for predicting resupply attrition, according to some embodiments of the present disclosure.

[0026] FIG. 16 depicts an example computing device configured to perform various aspects of the present disclosure, according to some embodiments disclosed herein.

[0027] While the present disclosure is susceptible to various modifications and alternative forms, specific implementations and embodiments thereof have been shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that it is not intended to limit the present disclosure to the particular forms disclosed, but on the contrary, the present disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.DETAILED DESCRIPTION

[0028] Embodiments of the present disclosure generally provide techniques for using machine learning to predict resupply attrition, such as for respiratory therapy systems.

[0029] Generally, respiratory therapy refers to the use of a flow generator and user interface to deliver air and / or oxygen to a user, such as during sleep. For example, respiratory therapy may include use of continuous positive airway pressure (CPAP) devices, bi-level positive airway pressure (BiPAP) devices, and the like. Respiratory therapy can significantly improve the lives of users who engage in it. In some cases, one or more components of the respiratory therapy system may be consumable (e.g., using the respiratory therapy system consumes or otherwise reduces the life of the component(s)). In many respiratory therapy systems, users are instructed4 RSMD-0138PC-163678 to replace some components according to a maintenance or replacement schedule (e.g., periodically, after a defined amount of use, and the like). For example, in some cases, users may replace components such as the conduit (also referred to in some aspects as a tube) used to connect the user interface (e.g., mask) and the respiratory therapy device (e.g., the flow generator) to provide airflow to the interface, the humidifier tub or tank (e.g., the container that holds water used to humidify the generated airflow), and the like.

[0030] Replacing such components according to manufacturer suggestion may improve therapy results, such as by ensuring that the components are not degraded (e.g., the conduit has no crushed portions, kinks, holes, or other wear-related damage that may affect airflow) and / or to ensure that the components are clean and sanitary (e.g., to ensure no adverse illness results from an infected or damaged water chamber). In some embodiments of the present disclosure, replacing such consumable components may collectively be referred to as “resupply.”

[0031] In some cases, when a user stops using their respiratory therapy systems, they often also stop requesting such resupply. In some embodiments of the present disclosure, “resupply attrition” may refer to the state or event of a user failing to request resupply for at least a defined period of time. Notably, in some cases, many users may continue normal (or at least minimal) use of their respiratory therapy systems without resupply (e.g., using components past the recommended schedule). Similarly, in some cases, a user may cease adequate use of their respiratory system but may still continue to request resupply (e.g., reaching “resupply saturation”). Nevertheless, accurately predicting whether a user will undergo resupply attrition in advance of the actual attrition can be significantly useful.

[0032] However, substantial challenges exist to such predictions. As one example, accurately predicting resupply attrition with sufficient advanced notice (e.g., several months prior to such attrition actually occurring) may rely on sophisticated and advanced modeling architectures and techniques. However, such architectures are often computationally expensive (e.g., requiring substantial memory and / or compute time, as well as resulting in substantial power dissipation and heat generation). As such, it is often inefficient (or even computationally prohibitive) to provide such predictions for all users at multiple points in time. Similarly, in order to enable high accuracy, a wide variety of feature processing may be performed. However, these feature processing workflows may similarly incur substantial expense.

[0033] In some aspects of the present disclosure, techniques are provided to train and use machine learning models to predict resupply attrition in advance of the attrition itself. In some aspects, techniques are provided to reduce the computational expense of generating such predictions by dynamically identifying users that are at risk of or approaching such attrition using relatively less computationally complex data collection and evaluations. In some aspects, the use5 RSMD-0138PC-163678 of relatively more complex and / or computationally expensive models may be reserved only for those users determined to be at risk. That is, in some embodiments, the systems may use machine learning models only selectively or adaptively based on determined risks, in order to generate more accurate predictions for a subset of the user population (while refraining from using such models and incurring such expenses for the remaining population). In these ways, some embodiments of the present disclosure can significantly improve the computational efficiency and reduce computational expense (as well as power dissipation and heat generation) of the computer systems.Example Data Timeline for Using Machine Learning to Predict Resupply Attrition

[0034] FIG. 1 depicts an example data timeline 100 for using machine learning to predict resupply attrition, according to some embodiments of the present disclosure.

[0035] In the illustrated example, therapy data 140 and various therapy-related events are depicted along a line 205 representing the passage of time, where events located toward the left of the line 105 occurred earlier than events towards the right (e.g., the resupply event 110A occurred earlier in time, relative to the resupply event HOB). In the depicted data timeline 100, therapy data 140 is indicated by stippled blocks and represents data relating to the user’s usage of or engagement with respiratory therapy. For example, the therapy data 140 may include information such as the user’s daily usage duration, flow start / stop (or mask on / off) events, the user’s apnea-hypopnea index (AHI), the pressure setting(s) of the device at various points in time, the detected amount of air leak (e.g., from the mask of the user) at various times, and the like.

[0036] As illustrated, there may be gap(s) of varying duration in the therapy data 140, such as corresponding to day(s) or time(s) when the user did not use the respiratory therapy system, times when the system was unable to report the therapy data 140 (e.g., due to connectivity loss), and the like. Further, in the depicted timeline 100, there is no therapy data 140 after the time indicated by the line 130. In some aspects, the line 130 corresponds to the current moment in time (e.g., where events to the right of the line 130 are in the future and have not yet happened).

[0037] In the illustrated example, the resupply events 110A-B each generally represent a point in time where the user requested, ordered, completed, retrieved, or otherwise engaged in resupply in connection with their respiratory therapy. For example, the resupply events 110 may correspond to orders for new consumables or replaceable parts, such as new filters, new tubes, and the like.

[0038] In some aspects, the line 130 corresponds to a resupply milestone defined based on one or more resupply events 110. For example, the resupply milestone may defined based on determining that a defined period of time (e.g., six months or one hundred eighty days) has passed since the most recent resupply event 110. That is, the duration of the window 115 (between the6 RSMD-0138PC-163678 resupply event HOB and the line 130) may be a defined or fixed length (e.g., defined by an administrator or supplier, defined based on the average time between resupply for the given user, and the like). In some embodiments, the line 130 may represent a milestone indicating that the user is approaching resupply attrition. That is, in some embodiments, a user may be labeled as “approaching resupply attrition” if at least a threshold period of time (e.g., six months) has passed without a resupply event 110. Although a single milestone is indicated, in some aspects, multiple such milestones may be used (e.g., defined based on different window durations). For example, one milestone may correspond to “emerging” attrition (e.g., at least three months without a resupply event), one milestone may correspond to “approaching” attrition (e.g., at least six months), one milestone may correspond to “critical” attrition (e.g., at least nine months without a resupply event), and the like.

[0039] Further, in the illustrated example, the line 135 indicates the time when the user will be classified as “attrited” due to the passage of time. For example, a user may be labeled as having undergone resupply attrition (or reaching a “final” attrition milestone) if at least a longer duration (e.g., twelve months) has passed without a resupply event 110. That is, the duration of the windows 115 and 125 may cumulatively be, for example, twelve months. Of note, a determination of “final” attrition does not indicate that the user cannot resume normal therapy (e.g., they may subsequently request resupply). Further, as discussed above, in some cases the user may continue to engage in therapy beyond the “final” attrition milestone represented by the line 135 (e.g., they may not be attrited from a therapy perspective, even if they are attrited from a resupply perspective).

[0040] In some aspects, as discussed above, prediction systems may collect and evaluate some data (such as data indicating resupply events 110) for one or more users in order to identify users that are “at risk” of attrition or “approaching” attrition, such as because they have reached a defined milestone (e.g., at least six months without a resupply event 110, as indicated by the line 130). In some aspects, if a user is classified as approaching attrition (e.g., if the most recent resupply event 110B is at least the defined duration from the current time, such as indicated by the line 130), the prediction system may determine that further evaluation is warranted (e.g., additional data should be collected and / or evaluated).

[0041] In some aspects, the prediction system may collect and / or evaluate data from one or more windows (e.g., the window 115 and / or the window 120) to generate an attrition prediction for the user. That is, in response to determining that the user is approaching attrition, the prediction system may evaluate data (such as the therapy data 140) from the window 115 and / or 120. In some aspects, the window 115 corresponds to data collected or generated subsequent to the most recent resupply event HOB and prior to the current time and / or the time of the “approaching7 RSMD-0138PC-163678 attrition” milestone (e.g., the line 130). Further, in some aspects, the window 120 corresponds to a defined period of time (e.g., three months or ninety days) prior to the most recent resupply event HOB.

[0042] In some aspects, the prediction system may collect and / or evaluate different features from each window 115 and 120. For example, in some aspects, the prediction system may evaluate therapy data 140 (e.g., average usage per day, average leak volume, and the like) from the window 115, while evaluating resupply data (e.g., the average time between resupply events, the total number of resupply events, and the like) from the window 120 to generate the attrition prediction, as discussed in more detail below. In some embodiments, the prediction system may generate or extract a variety of features corresponding to the window(s) 115 and / or 120 to generate the prediction.

[0043] In the illustrated example, the resupply attrition prediction may be said to correspond to the window 125 (e.g., the time between the current time and / or the “approaching attrition” milestone and the “final attrition” milestone). That is, the attrition prediction may indicate whether the user is predicted to attrit during the window 125 and / or at the end of the window 125 (e.g., whether the user will request another resupply event 110 prior to the time indicated by the line 135).

[0044] In some embodiments, the resupply attrition prediction indicates a binary or categorical classification (e.g., “expected to attrit” or “not expected not attrit”). In some embodiments, the attrition prediction may include a probability or likelihood that the user will attrit.

[0045] As discussed above and in more detail below, generating such attrition predictions far in advance of the actual attrition (e.g., for the window 125) may rely on fairly complex modeling and features in some aspects. Further, as discussed above, such complex modeling often incurs substantial computational expense. Therefore, in some aspects, the prediction system may refrain from generating such predictions unless other criteria or evaluations indicate that such expense should be made. For example, the prediction system may evaluate some data using relatively lightweight or non-complex modeling (e.g., rules-based classifications, relatively small or lightweight machine learning models, and the like) to classify whether the user is approaching attrition. If so, additional information may be collected, generated, and / or evaluated using relatively more computationally expensive approaches (e.g., complex or large machine learning models) to generate the attrition prediction. If not, the prediction system may use other lightweight approaches to estimate the attrition prediction, or may determine that the user is not likely to attrit in the relevant window and may therefore refrain from consuming any further resources evaluating the given user at the given time.

[0046] In these ways, some embodiments of the present disclosure can substantially reduce8 RSMD-0138PC-163678 the computational expense of the monitoring process, improving the operations of the prediction system and further reducing power dissipation and heat generation.Example Data Timelines for Training Machine Learning Models to Predict Resupply Attrition

[0047] FIGS. 2A, 2B, 2C, and 2D depict example data timelines 200A-D for training machine learning models to predict resupply attrition, according to some embodiments of the present disclosure. Specifically, the timelines 200A-D depict various exemplars of data that may be used to train machine learning models, as discussed in more detail below.

[0048] In some aspects, as discussed in more detail below, the prediction system (or a dedicated training system) may evaluate historical repositories of data to identify examples that are amenable to machine learning. For example, the prediction system may identify users that have at least one completed “approaching attrition” event in their timeline (e.g., at least one such event with either a corresponding “attrited” event or a corresponding “resupply” event that prevent final attrition). In some aspects, the prediction system may refrain from generating an exemplar for any “incomplete” attritions (e.g., where the user never approached attrition, or where the user reached “approaching attrition” less than a defined period of time in the past, such as six months).

[0049] Turning now to FIG. 2A, a timeline 200A is depicted where a training exemplar can be generated for the window 215 A. Specifically, as illustrated, stippled blocks are depicted along a line 205 A to indicate therapy data 240, while events including resupply events 210A and 210B, an “approaching attrition” event 230 A, and an “attrited” event 235 A are also depicted along the line 205 A. In the depicted example, the therapy data 240 from the window 215 A (e.g., during the six month period between the resupply event 210A and the event 230 A) may be used to generate an exemplar because the event 230A is “completed” by the corresponding attrition event 235A. That is, while data in the window 215 A can be used as the input data for the exemplar, the label of the exemplar can be generated based on the event 235 A (e.g., indicating that the user completed resupply attrition). Notably, in the illustrated example, the therapy data 240 may be relatively continuous throughout the timeline 200 A (e.g., the user continued to use their therapy equipment before, during, and after the resupply attrition).

[0050] In the timeline 200 A, the resupply event 210B cannot form the base of a training exemplar, as there is no subsequent “approaching” event 230. That is, the user is not (yet) approaching attrition (e.g., the defined period after the resupply event 230B has not passed), and thus the resupply event 210B cannot serve as the beginning of a new exemplar. Further, as discussed above, the therapy data (or other data) collected outside of the window 215 A (e.g., between the event 230 A and the event 235 A) may not be used to generate an exemplar, as the prediction system may be seeking to train a model to generate predictions at the time when the user is approaching attrition (e.g., six months after their last resupply event), when the data9 RSMD-0138PC-163678 subsequent to the event 230A is not yet available or has not yet occurred.

[0051] Turning now to FIG. 2B, a timeline 200B is depicted where a training exemplar can be generated for the window 215B. Specifically, as illustrated, stippled blocks are depicted along a line 205B to indicate therapy data 240, while events including resupply event 210C, approaching events 230B and 230C, and an attrited event 235B are also depicted along the line 205B. In the depicted example, the therapy data 240 from the window 215B (e.g., during the six month period between the resupply event 210C and the event 230c) may be used to generate an exemplar because the event 230C is “completed” by the corresponding attrition event 235B. That is, while data in the window 215B can be used as the input data for the exemplar, the label of the exemplar can be generated based on the event 235B (e.g., indicating that the user completed resupply attrition). Notably, in the illustrated example, the therapy data 240 may be relatively continuous throughout the timeline 200B (e.g., the user continued to use their therapy equipment before, during, and after the resupply attrition).

[0052] In the timeline 200B, the approaching event 230B may also form the base of a training exemplar, as this event is also “completed” by the resupply event 210C. That is, the data collected during a corresponding window prior to the event 230B (e.g., during the six month window prior to this event) may be used to generate an exemplar for the approaching event 230B. However, in some embodiments, the prediction system (or dedicated training system) may determine to generate the exemplar using use the most recent window (e.g., the window 215B). That is, rather than generating multiple exemplars for a given user (e.g., a given timeline 200B), the prediction system may determine to generate, at most, a single exemplar for any user reflected in the historical data (based on the most recent completed window).

[0053] Turning now to FIG. 2C, a timeline 200C is depicted where a training exemplar can be generated for the window 215C. Specifically, as illustrated, stippled blocks are depicted along a line 205C to indicate therapy data 240, while events including resupply events 210D and 210E and an approaching event 230D are also depicted along the line 205C. In the depicted example, the therapy data 240 from the window 215C (e.g., during the six month period between the resupply event 210D and the approaching event 230D) may be used to generate an exemplar because the event 230D is “completed” by the subsequent resupply event 210E. That is, while data in the window 215C can be used as the input data for the exemplar, the label of the exemplar can be generated based on the event 210E (e.g., indicating that the user resupplied during the subsequent window, prior to attriting). Notably, in the illustrated example, the therapy data 240 may be relatively continuous throughout the timeline 200C (e.g., the user continued to use their therapy equipment before, during, and after the various events).

[0054] Turning now to FIG. 2D, a timeline 200D is depicted where a training exemplar can10 RSMD-0138PC-163678 be generated for the window 215D. Specifically, as illustrated, stippled blocks are depicted along a line 205D to indicate therapy data 240, while events including a resupply event 21 OF and approaching events 230F and 230G are also depicted along the line 205D. In the depicted example, the therapy data 240 from the window 215D (e.g., during the six month period prior to the approaching event 230F) may be used to generate an exemplar because the event 230F is “completed” by the subsequent resupply event 210F. That is, while data in the window 215D can be used as the input data for the exemplar, the label of the exemplar can be generated based on the event 210F (e.g., indicating that the user resupplied during the subsequent window, prior to attriting). Notably, in the illustrated example, the therapy data 240 may be relatively continuous throughout the timeline 200D (e.g., the user continued to use their therapy equipment before, during, and after the various events).

[0055] In the timeline 200D, the approaching event 230G cannot form the base of a training exemplar, as the event 230 is not complete. That is, if the current date corresponds to the line 250, the user is not (yet) approaching attrition (e.g., the defined period after the event 230G has not passed), nor has the user requested another resupply event.

[0056] As discussed above, the timelines 200A-D each have relatively continuous therapy data. In some aspects, however, resupply attrition may be defined based on the presence (or absence) of resupply events, regardless of whether the user has attrited from a therapy perspective. That is, in some aspects, the prediction system (or another system) may define at least two distinct attrition metrics: a resupply attrition defined based on resupply activity, and a therapy attrition defined based on usage of the therapy device (e.g., for at least a defined average period of time per day). In this way, a user may be experiencing resupply attrition without therapy attrition (e.g., participating in therapy with potentially worn out hardware), experiencing therapy attrition without resupply attrition (e.g., still ordering resupply even if they are not using their equipment, or if the equipment is not connected to the therapy systems and / or not providing data), experiencing both resupply attrition and therapy attrition (e.g., not participating in therapy and not requesting resupply), and / or experiencing neither resupply attrition nor therapy attrition (e.g., actively engaged in each).Example System for Training Machine Learning Models to Predict Resupply Attrition

[0057] FIG. 3 depicts an example system 300 for training machine learning models to predict resupply attrition, according to some embodiments of the present disclosure.

[0058] In the illustrated example, a training system 305 accesses user data 325 and resupply history 330 to train a machine learning model 335 to predict resupply attrition. As used herein, “accessing” data may generally include receiving, retrieving, requesting, generating, collecting, measuring, obtaining, or otherwise gaining access to the data. The training system 305 is generally11 RSMD-0138PC-163678 representative of any computing system (including physical and / or virtual systems) configured to implement one or more embodiments of the present disclosure. The operations of the training system 305 may generally be implemented using hardware, software, or a combination of hardware and software, and may be combined or distributed across any number of devices and systems.

[0059] In some embodiments, the resupply history 330 includes information relating to previous resupply events (e.g., corresponding to the resupply events 110 of FIG. 1 and / or the resupply events 210 of FIGS. 2A-2D) for one or more users. For example, the resupply history 330 may include records of previous resupply requests, such as the date and / or time when the request was made, the date and / or time when the request was fulfilled (or other relevant milestones, such as when the equipment shipped), the number of item(s) included in each request, the monetary cost of each request and / or item, the expected lifetime or duration of each requested item, and the like. In some embodiments, the training system 305 (or another system) may evaluate the resupply history 330 to generate corresponding resupply events on the timelines of one or more users, as discussed above.

[0060] In some embodiments, the user data 325 generally includes information relating to one or more users who engage (or have engaged) in therapy (such as respiratory therapy). For example, for a given user (also referred to as a patient in some aspects), the user data may include demographic information such as the user’s age and / or gender, whether the user has given (or rejected) consent for various forms of contact such as text or email, whether the user has been diagnosed with one or more conditions (e.g., sleep apnea), whether the user is insured, and the like.

[0061] In some embodiments, the user data 325 may similarly include information about the device characteristics of one or more users (e.g., characteristics of the user’s equipment used for respiratory therapy), such as the particular model or version the user is using, the pressure mode the user is using, and the like.

[0062] In some embodiments, the user data 325 may similarly include therapy data for one or more users. For example, the therapy data may indicate the user’s usage (e.g., the amount of usage, such as the average or total number of hours), the number of the times the user donned and / or doffed their mask in a given period, the amount of air leak from the mask, the amount of pressure used by the user, the AHI of the user, and the like.

[0063] In the illustrated example, the training system 305 includes a sampling component 310, a labeling component 315, and a training component 320. Although three discrete components are depicted for conceptual clarity, the operations of the depicted components may generally be combined or distributed across any number of components.12 RSMD-0138PC-163678

[0064] In some embodiments, the sampling component 310 may be used to sample data from the user data 325 and / or resupply history 330 to generate training exemplars. For example, as discussed above with reference to FIGS. 2A-2D, the sampling component 310 may evaluate the resupply history 330 to identify one or more defined milestone events (e.g., an “approaching attrition” event) for each user (e.g., identify the point when a defined period of time, such as six months, has passed after a given resupply event).

[0065] In some aspects, for one or more of such identified events, the sampling component 310 can then identify the subset of events that are “completed” (e.g., where the user reached final attrition and / or where the user has another resupply event subsequent to the first period but prior to the second, such as between six and twelve months after the first event). In some aspects, as discussed above, the sampling component 310 may evaluate this completed subset to identify the most recent “completed” event for each user.

[0066] In some embodiments, the sampling component 310 can then retrieve or collect the corresponding user data 325 for each identified completed event. For example, as discussed above, the sampling component 310 may identify the user data (e.g., therapy data, user demographics, device characteristics, and the like) for a window beginning with the resupply event and ending with the milestone event (e.g., during the window 215A of FIG. 2A). For example, the sampling component 310 may retrieve or identify the data that was collected during a six month period prior to the “approaching attrition” event. In some aspects, as discussed below in more detail, the sampling component 310 may generate a variety of features for the data that was collected or generated during this window.

[0067] In some embodiments, the sampling component 310 may additionally retrieve or collect corresponding resupply history 330 for the event. For example, as discussed above, the sampling component 310 may generate one or more resupply related features for data prior to the most recent resupply event (e.g., from the window 120 of FIG. 1).

[0068] In some embodiments, the sampling component 310 may generate training exemplars based on using some or all of the corresponding user data 325 and / or resupply history 330 (or features extracted therefrom) as the input data (e.g., the data used as input to the model).

[0069] In some embodiments, the labeling component 315 may then generate labels for these generated exemplars based on the resupply history 330. For example, as discussed above, the labeling component 315 may generate an attrition label (indicating that the user attrited, such as because the resupply history 330 does not include another resupply event within a defined window subsequent to the corresponding attrition milestone (e.g., within 12 months of the initial resupply event). Alternatively, the labeling component 315 may generate a resupply label (indicating that the user did not attrit because there is at least one further resupply event subsequent to the13 RSMD-0138PC-163678 “approaching atrition” milestone and prior to full attrition). These labels may be used to refine the machine learning model 335.

[0070] In the illustrated example, the training component 320 may use the labeled exemplars (generated by the sampling component 310 and the labeling component 315) to train, refine, finetune, or otherwise create the machine learning model 335. Generally, the particular techniques and operations used to train the machine learning model 335 may vary depending on the particular implementation. For example, in some aspects, the training component 320 may process a given training exemplar (generated by the sampling component 310) using the model to generate an output prediction. The training component 320 can then compare this prediction against the ground truth label (generated by the labeling component 315) for the exemplar in order to generate a loss (e.g., using cross-entropy loss or any other suitable formulation). The training component 320 can then use this loss to refine the parameters (e.g., weights and biases) of the model in order to generate more accurate predictions.

[0071] Generally, the particular architecture of the machine learning model 335 may vary depending on the particular implementation. For example, the machine learning model 335 may use a neural network architecture (e.g., a deep neural network (DNN)), a decision-tree or random forest architecture (e.g., a gradient-boosted decision tree approach), a support vector machine (SVM), and the like.

[0072] In some embodiments, the training component 320 can train the machine learning model 335 using any number of exemplars corresponding to any number of individuals during an offline or training phase. Once trained, the training component 320 may deploy the machine learning model 335 for runtime (e.g., online) use. As used herein, “deploying” a machine learning model may generally include any operations used to provide the model for inferencing, such as transmitting the learned parameters to a prediction system, instantiating the model in local memory for runtime use, and the like.

[0073] In some embodiments, the training component 320 (or another system) may perform continuous or periodic learning on the machine learning model 335. In some embodiments, during runtime, the training component 320 may periodically evaluate feedback or updated information relating to one or more users in order to determine the accuracy of the generate prediction(s). For example, if the training component 320 (or another component) determines that a user that was approaching attrition has now completed atrition (or has requested resupply prior to final attrition), the training component 320 may identify the prediction(s) generated for the user and generate a new loss based on whether the prediction(s) were accurate.

[0074] Generally, this updating may include continuous learning, periodic fine-tuning (e.g., collecting updated feedback and periodically retraining the model, such as nightly, weekly,14 RSMD-0138PC-163678 overnight, etc.), and the like.

[0075] In these ways, the training component 320 can generate improved machine learning models 335 to generate more accurate resupply attrition predictions for a wide variety of users. Further, in some aspects, by training only on data corresponding to users who are already determined to be “at risk” or “approaching” attrition, the training component 320 can improve the prediction accuracy (e.g., because the model is able to focus on this specific subset of users, rather than all users broadly). Further, training a model to generate prediction for this subset of users may reduce computational expense (as compared to more generic models), as the underlying correlations and patterns may be less complex, allowing for satisfactory model performance with reduced training data, as well as reduced time and computational expense spent training. Moreover, as discussed above, by only selectively or adaptively using the model to generate predictions for such “at risk” users, the computational expense of the inferencing process is reduced.Example System for Using Machine Learning to Predict Resupply Attrition

[0076] FIG. 4 depicts an example system 400 for using machine learning to predict resupply attrition, according to some embodiments of the present disclosure.

[0077] In the illustrated example, a prediction system 405 (which may correspond to the prediction system(s) discussed above with reference to FIGS. 1 and / or 2A-2D, and / or the training system 305 of FIG.3) accesses user data 425 (which may correspond to or contain similar data to the user data 325 of FIG.3) and resupply history 430 (which may correspond to or contain similar data to the resupply history 330 of FIG. 3), as well as a trained machine learning model 335 (discussed above with reference to FIG. 3) to generate resupply attrition predictions 435. The prediction system 405 is generally representative of any computing system (including physical and / or virtual systems) configured to implement one or more embodiments of the present disclosure. The operations of the prediction system 405 may generally be implemented using hardware, software, or a combination of hardware and software, and may be combined or distributed across any number of devices and systems.

[0078] In some embodiments, as discussed above, the resupply history 430 includes information relating to previous resupply events (e.g., corresponding to the resupply events 110 of FIG. 1 and / or the resupply events 210 of FIGS.2A-2D) for one or more users that are engaged or enrolled in respiratory therapy. For example, the resupply history 430 may include records of previous resupply requests, such as the date and / or time when the request was made, the date and / or time when the request was fulfilled (or other relevant milestones, such as when the equipment shipped), the number of item(s) included in each request, the monetary cost of each request and / or item, the expected lifetime or duration of each requested item, and the like.15 RSMD-0138PC-163678

[0079] In some embodiments, the user data 425 generally includes information relating to one or more users who engage (or have engaged) in therapy (such as respiratory therapy). For example, for a given user (also referred to as a patient in some aspects), the user data may include demographic information such as the user’s age and / or gender, whether the user has given (or rejected) consent for various forms of contact such as text or email, whether the user has been diagnosed with one or more conditions (e.g., sleep apnea), whether the user is insured, and the like.

[0080] In some embodiments, the user data 425 may similarly include information about the device characteristics of one or more users (e.g., characteristics of the user’s equipment used for respiratory therapy), such as the particular model or version the user is using, the pressure mode the user is using, and the like.

[0081] In some embodiments, the user data 425 may similarly include therapy data for one or more users. For example, the therapy data may indicate the user’s usage (e.g., the amount of usage, such as the average or total number of hours), the number of the times the user donned and / or doffed their mask in a given period, the amount of air leak from the mask, the amount of pressure used by the user, the AHI of the user, and the like.

[0082] In the illustrated example, the prediction system 405 includes a selection component 410, a prediction component 415, and an intervention component 420. Although three discrete components are depicted for conceptual clarity, the operations of the depicted components may generally be combined or distributed across any number of components.

[0083] The selection component 410 may generally be used to perform an initial evaluation in order to identify a subset of users, from a larger population of therapy users, that are sufficiently at-risk or approaching attrition (e.g., users where the additional burden of collecting additional data, generating relevant features, and using model(s) to generate output predictions) is sufficiently justified.

[0084] For example, as discussed above, a variety of tools may be used to enable close monitoring of respiratory therapy progress and state of individuals. Though this data may be useful in optimizing or improving therapy adherence and patient outcomes, the data can also be quite voluminous (e.g., containing large amounts of data). Accordingly, the continual generation, export, and / or evaluation of this data may substantially increases the computational expense of the system. For example, while such data may be stored locally or in a therapy repository, these repositories are generally separated from the prediction system 405 (e.g., located in different data centers, deployments, or otherwise topologically and / or geographically separated). Therefore, accessing such data to generate predictions can introduce substantial added traffic volume on the network(s) connecting the systems, which inherently hinders network performance. Moreover, as16 RSMD-0138PC-163678 discussed above, such continual analysis of the user data for all active users may not be an efficient use of resources, particularly for users who are engaged under normal conditions (e.g., not at immediate risk of attrition).

[0085] Therefore, in some embodiments of the present disclosure, the selection component 410 may enable the prediction system 405 (and / or other systems) to dynamically and / or adaptively vary the amount (and content) of data that is collected, transmitted, and / or evaluated based on initial risk evaluations for such users. That is, in some embodiments, the selection component 410 may only collect and / or evaluate the additional user data 425 for a given user when the potential risk of attrition is detected.

[0086] For example, some data such as the resupply history 430 (e.g., records of resupply requests) may be periodically (e.g., daily, weekly, or according to any suitable period) collected and / or evaluated by the selection component 410 (e.g., comparing the records against one or more defined thresholds or other rules-based approaches, or using one or more relatively lightweight machine learning models) to identify at risk users. If an at-risk user is detected, the selection component 410 may select or flag this user for further evaluation, and the selection component 410 (or another component) may begin the process of collecting or retrieving additional information (e.g., from the user data 425) to refine the evaluation for the given user. In some aspects, if (during this collection and / or evaluation) the risk is obviated (e.g., because the selection component 410 determines that the user just requested resupply), the selection component 410 may terminate this data collection and / or evaluation to reduce further computational expense.

[0087] Stated differently, if the selection component 410 determines (based on preliminary evaluations, such as by comparing the resupply history 430 of the user to one or more thresholds, such as a threshold period of time since the last resupply event) that a given user is at risk, additional data (e.g., user data 425) may be collected and evaluated. If the selection component 410 determines (based on these preliminary evaluations) that the user is not currently at risk of or approaching resupply attrition, the selection component 410 may refrain from further evaluation of the user (at least until the next periodic or trigger-based evaluation), and may move to evaluate the next user for risk. That is, the selection component 410 may only collect additional data (e.g., user data 425) when the initial evaluation reveals that initial data (e.g., resupply history 430) satisfies one or more defined criteria (e.g., with a delay exceeding a threshold). This reduces the network traffic and compute expense used by the prediction system 405.

[0088] In the illustrated example, the prediction component 415 may access some or all of the user data 425 corresponding to the selected or identified at-risk user(s) in order to perform feature extraction (as discussed below in more detail) and to evaluate this data to generate an attrition prediction 435 using the machine learning model 335. For example, as discussed above, the17 RSMD-0138PC-163678 prediction component 415 may extract or generate features related to the usage of the therapy system (e.g., average hours per day over one or more windows of time), demographics of the user, device characteristics of the user’s therapy system, and the like. In some aspects, as discussed above and in more detail below, this additional data may correspond to data recorded during one or more defined windows (e.g., within the last six months, subsequent to the user’s last resupply request, and / or prior to the user’s last resupply request).

[0089] As discussed above, the attrition prediction 435 may generally indicate whether the user is expected or predicted to complete resupply attrition (e.g., whether the user is predicted to request resupply within a defined period of time, such as the next six months). For example, the attrition prediction 435 may include a categorical prediction (e.g., indicating a binary prediction such as “will attrit” or “will not attrit,” or indicating a risk category, such as “low risk,” “medium risk,” and “high risk”). In some aspects, the attrition prediction 435 may include a continuous value (e.g., a score between zero and one or between zero and one hundred) indicating the probability or likelihood of resupply attrition (e.g., where higher values indicate higher risk or more probable attrition).

[0090] In some aspects, the attrition prediction 435 is provided as output of the prediction system 405. For example, the prediction system 405 may transmit the attrition prediction 435 to the user, to the care provider of the user, or to one or more other systems or entities. In some embodiments, the attrition prediction 435 is provided to a resupply system configured to facilitate resupply for the user, as discussed below in more detail.

[0091] In the illustrated example, the intervention component 420 may evaluate the attrition predict! on(s) 435 generated by the prediction component 415 in order to generate, select, or otherwise facilitate appropriate interventions. For example, the intervention component 420 may determine to generate and transmit a reminder to the user (e.g., prompting them that they may want to request resupply soon to prevent therapy interruptions), or may transmit an alert to the care provider (e.g., prompting the provider to intervene, request resupply on behalf of the user, and the like). Although depicted as part of the prediction system 405, in some aspects, the intervention component 420 may be implemented as a discrete system or as part of another system.

[0092] Generally, the prediction system 405 may perform a variety of operations to facilitate a variety of interventions for users. As used herein, “facilitating” intervention may include, for example, selecting the intervention, enacting the intervention (e.g., transmitting a message), assisting or enabling another system to implement an intervention (e.g., by generating and / or providing the attrition prediction to the other system, which may cause the other system to determine that an intervention is warranted), and the like. For example, in response to determining that the prediction satisfies one or more criteria (e.g., the prediction indicates a sufficiently high18 RSMD-0138PC-163678 probability of attrition, or in response to determining that the prediction exists, as compared to users for whom no such prediction is generated or predictions that are not yet complete), the prediction system 405 may facilitate intervention by returning the prediction to the requesting entity.

[0093] In these ways, the prediction system 405 may adaptively and / or dynamically evaluate users by performing initial evaluations that incur relatively reduced computational expense (as compared to subsequent evaluations for at-risk users) and only selectively performing the relatively more expensive evaluations for the subset of users determined to be approaching resupply attrition (e.g., users for whom such additional expense is justified by the potentially more immediate risk of attrition).Example Workflow for Using Machine Learning to Predict Resupply Attrition

[0094] FIG. 5 depicts an example workflow 500 for using machine learning to predict resupply attrition, according to some embodiments of the present disclosure. In some embodiments, the workflow 500 may be performed by a prediction system, such as the prediction system 405 of FIG. 4 and / or the prediction system(s) discussed above with reference to FIGS. 1 and / or 2A-2D. In some embodiments, the workflow 500 provides additional detail for the operations of the system 400 of FIG. 4.

[0095] In the illustrated example, as discussed above, the selection component 410 accesses resupply history 430 and performs one or more initial evaluations or analyses (e.g., generating an initial risk or prediction) for one or more users. In some embodiments, as discussed above, the selection component 410 may evaluate the resupply history 430 using one or more defined rules, heuristics, thresholds, and the like in order to identify users that are “at risk” or “approaching” resupply attrition. For example, in some embodiments, the selection component 410 may determine the length of time that has elapsed since the last resupply request from a given user, and may compare this request against a threshold duration (where elapsed times longer than the duration indicate that the user is approaching attrition). In some embodiments, the selection component 410 may additionally or alternatively evaluate other aspects of the resupply history 430, such as whether the current time since last resupply is greater than or less than the average duration between request from the particular user (e.g., whether the current delay is abnormal for the user).

[0096] Although not depicted in the illustrated example, in some embodiments, the selection component 410 may additionally or alternatively evaluate other data beyond the resupply history 430, such as one or more portions of the user data 425, to generate the initial risk predictions. Further, although some embodiments of the present disclosure discuss evaluating the initial data using one or more rules or thresholds, in some embodiments, the selection component 410 may19 RSMD-0138PC-163678 additionally or alternatively use one or more other initial evaluations, such as one or more relatively lightweight models (e.g., trained machine learning models that incur less computational expense, as compared to the machine learning model 335 of FIGS.3-4). For example, these initial models may be smaller (e.g., containing fewer parameters), may evaluate less input data (e.g., only a few features), and the like.

[0097] As illustrated, based on the initial evaluation of the resupply history 430, the selection component 410 selects a subset of users 505. For example, from a broader population of users currently engaged in respiratory therapy, the selection component 410 selects the subset of users 505 that are “approaching” attrition based on the initial analysis.

[0098] In the illustrated workflow 500, the subset of users 505 are then accessed by a feature component 510 (which may be a component of the prediction system itself, may be a discrete component or system, or may be a subcomponent of the prediction component 415). The feature component 510 evaluates the user data 425 for each user indicated in the subset of users 505 to generate a corresponding set of input features 515 for each user. For example, as discussed below in more detail, the feature component 510 may generate demographics features, therapy features, device features, and the like. In some embodiments, the feature component 510 may additionally evaluate the resupply history 430 of each user (in the subset of users 505) to generate resupply features, as discussed in more detail below.

[0099] As illustrated, these input features 515 are then evaluated by the prediction component 415 (e.g., using the machine learning model 335 of FIGS.3-4) to generate the attrition predictions 435. That is, the feature component 510 may process the set of input features 515 for each respective user (of the subset of users 505) using the machine learning model in order to generate a corresponding attrition prediction 435 for the respective user.

[0100] As discussed above, this selective evaluation of only the subset of users 505 can substantially reduce computational expense of the workflow 500.Example Workflow for Feature Generation to Improve Resupply Attrition Predictions

[0101] FIG. 6 depicts an example workflow 600 for feature generation to improve resupply attrition predictions, according to some embodiments of the present disclosure. In some embodiments, the workflow 600 may be performed by a prediction system, such as the prediction system 405 of FIG. 4 and / or the prediction system(s) discussed above with reference to FIGS. 1 and / or 2A-2D. In some embodiments, the workflow 600 provides additional detail for the operations of the feature component 510, discussed above with reference to the workflow 500 of FIG. 5

[0102] In the illustrated workflow 600, the feature component 510 accesses user data 425 and / or resupply history 430 to generate a set of features including demographics features 605,20 RSMD-0138PC-163678 therapy features 610, device features 615, and / or resupply features 620. Although four categories of features are depicted for conceptual clarity, in some aspects, the generated features may fall into any number of categories and the illustrated examples are depicted only for conceptual clarity. Similarly, the feature component 510 may generate additional feature(s) not depicted, and / or may generate a subset of the depicted features.

[0103] Generally, the demographics features 605 may contain information relating to the user, such as the user’s age and / or gender, whether the user has consented to various forms of communication relating to their respiratory therapy, whether the user has been diagnosed with one or more specified disorders (e.g., apnea, asthma, COPD, and the like), whether the user has insurance (and / or what type of insurance), and the like.

[0104] In some aspects, the therapy features 610 include information relating to the user’s engagement in respiratory therapy. For example, the feature component 510 may generate feature(s) based on the amount of usage of the respiratory therapy by the user (e.g., the average daily hours), the number of times the user donned and doffed their user interface (e.g., mask) of the respiratory therapy (e.g., the average number of on / off events per day), the amount of air leak from the user’s mask during the respiratory therapy (e.g., the average, maximum, and / or minimum leak per usage session), the amount of pressure used by the user during the respiratory therapy (e.g., the pressure setting used), the AHI of the user for one or more days, and the like.

[0105] In some embodiments, as discussed above and in more detail below, the therapy features 610 may be generated based on one or more defined windows of time. For example, the feature component 510 may generate therapy features 610 indicating the average mask leak over the last week, the last thirty days, the last sixty days, and so on.

[0106] In some embodiments, the device features 615 may generally include features relating to characteristics of the respiratory therapy system used by the user, such as the type of device (e.g., the model, brand, version, or other identifying information), the pressure mode used by the user (e.g., continuous positive airway pressure (CPAP), automatic positive airway pressure (APAP), bilevel positive airway pressure (BiPAP), adaptive support ventilation (ASV), etc.), and the like.

[0107] In some embodiments, the resupply features 620 may generally include information relating to one or more previous resupply requests of the user, such as the content(s) of the most recent resupply, the number of days that elapsed between the most recent request and the immediately prior resupply request, the average time that elapses (with respect to the user) between resupply requests, the number of resupply requests that the user has made (in total or within one or more defined windows), and the like.

[0108] In some aspects, as discussed above, the feature component 510 (or another21 RSMD-0138PC-163678 component) may generate some or all of the illustrated features (and, in some aspects, additional features) both during training as well as during inferencing. For example, during training, the feature component 510 may generate the depicted features to be used as input for each of the training exemplars. Similarly, during inferencing, the feature component 510 may generate the depicted features for the identified subset of “at risk” users.Example Data Timeline for Feature Generation to Predict Resupply Attrition

[0109] FIG. 7 depicts an example data timeline 700 for feature generation to predict resupply attrition, according to some embodiments of the present disclosure. In some aspects, the timeline 700 illustrates feature windows used by a feature component (e.g., the feature component 510 of FIGS. 5-6) to generate therapy features (e.g., the therapy features 610 of FIG. 6).

[0110] In the illustrated example, therapy data 140 and various therapy-related events are depicted along a line 705 representing the passage of time, where events located toward the left of the line 705 occurred earlier than events towards the right (e.g., the resupply event 110 occurred earlier in time, relative to the line 130 indicating that the user is approaching resupply attrition). In the depicted data timeline 700, the therapy data 140 is indicated by stippled blocks and represents data relating to the user’s usage of or engagement with respiratory therapy, as discussed above.[OHl] In the illustrated example, the window 115 may correspond to the full window over which therapy features are generated (e.g., the period between the most recent resupply event 110 and the time when it was determined that the user is approaching attrition, indicated by the line 130). That is, the therapy features may be generated based on data that was initially collected during the window 115.

[0112] Further, in the illustrated example, various sub-windows 710A-C are depicted. In some embodiments, the feature component may generate therapy features within each sub-window 710. For example, the feature component may determine the average number of hours that the user used their respiratory therapy system during the window 710A, during the window 710B, during the window 710C, and so on. In some aspects, the duration of each window 710 may vary depending on the particular implementation. Further, although four windows are depicted for conceptual clarity, in some aspects, the feature component may evaluate any number of windows. For example, in some aspects, the window 710A may correspond to one fixed duration (e.g., the fourteen days prior to determining that the user is approaching attrition), the window 7 10B may correspond to a second fixed duration (e.g., the twenty-eight days prior to the determination), and so on. Generally, one or more of the windows may be entirely or partially overlapping with one or more other windows, and / or one or more of the windows may be entirely non-overlapping.

[0113] In some embodiments, in addition to or instead of generating respective features within22 RSMD-0138PC-163678 each window, the feature component may also use a variety of aggregation operations within each window. For example, the feature component may compute, for each window 710, the average value(s) of one or more therapy features, the standard deviation(s) of the one or more features, the trend(s) of the given feature(s) (e.g., whether the value(s) are increasing or decreasing in the window), and the like.

[0114] For example, in some embodiments, the feature component may generate features indicating the simple moving average, standard deviation, and trend in usage duration during each of the windows 710A, 71 OB, 710C, and 115, as well as the average, standard deviation, and trend in mask leak during each of the windows 710A, 71 OB, 710C, and 115, and so on (for one or more therapy features).

[0115] In some embodiments, the feature component may further compute ratios between the features generated within one or more of the windows. For example, the feature component may generate a feature corresponding to the ratio between the standard deviations of the user’s usage duration during the windows 710A and 71 OB, the ratio between the moving average mask leak during the windows 710A and 710C, and so on.

[0116] Generally, the feature component may generate features based on data collected during any number and variety of overlapping and / or non-overlapping windows.Example Data Timeline for Predicting Resupply Attrition over Extended Timeframes

[0117] FIG. 8 depicts an example data timeline 800 for predicting resupply attrition over extended timeframes, according to some embodiments of the present disclosure. In some aspects, the timeline 800 illustrates feature windows used by a feature component (e.g., the feature component 510 of FIGS. 5-6) to generate therapy features (e.g., the therapy features 610 of FIG.6), and / or prediction windows over extended timeframes.

[0118] In the illustrated example, therapy data 140 and various therapy -related events are depicted along a line 805 representing the passage of time, where events located toward the left of the line 805 occurred earlier than events towards the right (e.g., the resupply event 110 occurred earlier in time, relative to the line 130 indicating that the user is approaching resupply attrition, which occurred earlier in time relative to the current date, indicated by the line 810). In the depicted data timeline 800, the therapy data 140 is indicated by stippled blocks and represents data relating to the user’s usage of or engagement with respiratory therapy, as discussed above.

[0119] As discussed above, in some embodiments, machine learning models may be trained to generate a prediction for a future window (e.g., the next six months) based on data from a prior window (e.g., the prior six months). For example, in the illustrated timeline 800, the model may evaluate data from the window 115 (e.g., the window between the most recent resupply event 110 and the time when the user is determined to be approaching attrition, indicated by the line 130) to23 RSMD-0138PC-163678 generate a prediction indicating whether the user will undergo resupply attrition on the date indicated by the line 135 (e.g., a defined duration after the most recent resupply event 110, such as twelve months later).

[0120] However, in some embodiments, it may be beneficial to generate additional predictions for extended timeframes. That is, it may be useful to generate an updated attrition prediction for the user at the time indicated by the line 810 (e.g., subsequent to determining that the user is approaching attrition, but prior to actual attrition). As discussed above, evaluating data from the previous window 815 (e.g., the six months prior to the current time) will cause the model to generate a prediction for the next window 825 (e.g., the next six months). However, this window 825 may not be of interest. That is, if the goal is to predict whether the user will attrit (e.g., whether twelve months will pass without the user requesting resupply), the attrition prediction should indicate the probability that the user will not request resupply over the window 830 (e.g., between the current date and the time indicated by the line 135, when attrition will be complete). The model has not been trained to generate such predictions.

[0121] Stated differently, suppose the prediction generated at the time indicated by the line 130 is defined as P610 12(e.g., the probability that the user will attrit between month six and month twelve, relative to the resupply event 110). If the line 810 is at month eight (e.g., eight months after the resupply event 110) and the model is used to evaluate the data from the window 815, the resulting prediction may be defined as P810 14(e.g., the probability that the user will attrit between month eight and month fourteen, relative to the resupply event 110). However, the prediction of interest may be P8 10 12(e.g., the probability that the user will attrit between the current month eight and the relevant end of the window, month twelve, relative to the resupply event 110). This prediction window is depicted as the window 830.

[0122] In some aspects, to generate this updated prediction, the prediction system may use an incremental increase operation without re-running the machine learning model (e.g., without generating a new prediction using the model). For example, if a fixed linear increase in risk (e.g., 0.05 score increase per month) is expected (e.g., the risk of attrition is expected to increase linearly from the P6-12prediction until the end of the window 125), the prediction system may generate the updated score by multiplying the incremental increase N by the duration of time elapsed between the line 130 and the line 810, and add this result to the initial prediction P6 t0 12. Continuing the above example (if it is currently two months after the initial prediction), the updated prediction P810 12may be defined as P6 10 12+ 21V .

[0123] As another example, an exponential increase in risk may be modeled using an exponential increase M (e.g., 1.075 exponential increase per month). In such an implementation, continuing the above example (if it is currently two months after the initial prediction), the updated24 RSMD-0138PC-163678 prediction P8 10 12may be defined as P7 10 12* M, where P7 10 12= P6 1012 * M.

[0124] As yet another example, rather than a fixed increase in risk (e.g., the risk increase is variable over time), the prediction system may use a dynamic adjustment, such as using nonproportional hazards theory. For example, if the duration of the window 115 is represented by b (e.g., six) and the duration of the window 125 and the window 115 cumulatively is represented by , the prediction system may define the updated attrition prediction at time t as Pt t0j (where t is greater than b and less than ) using Equation 1 below, where a m) = -=-f h(m) is the number of (historical) users that did not request resupply during the month m divided by the number of users that were still approaching attrition at the start of month m, and h is the mean hazard rate.Pt u r= ^ ut^?~-’aT\(1>

[0125] In some embodiments, these approaches may enable generating updated risk predictions without relying on re-executing the machine learning model, which may reduce computational expense.

[0126] In some embodiments, however, it may be desirable to generate an updated initial prediction using the model based on the new data available since the time corresponding to the line 130. For example, the prediction system may generate a new Pt tOf+c (e.g., f’s to 14 ifc= 2, indicating that two months have passed since the line 130 (e.g., t = 8)). The prediction system may then weight or modify this prediction based on c. For example, the prediction system may use Equation 2 below.Pt to f=(f’t to f+c)f~b(2)

[0127] Continuing the above example, if b = 6, f = 12, t = 8, and c = 2, the updated 4prediction at t = 8 may be defined as P8 10 12= (P8 10 14)s. In some aspects, if resupply rates vary over time according to <z(t) (as discussed above), the updated risk may be defined as Pt tOf =(Ptur^c)

[0128] Advantageously, such approaches may enable a more accurate prediction (taking into account the newly acquired data) without relying on re-training the machine learning model.Example System for Using Machine Learning to Improve Therapy Resupply

[0129] FIG. 9 depicts an example system 900 for using machine learning to improve therapy resupply, according to some embodiments of the present disclosure.

[0130] In the illustrated example, the prediction system 405 (discussed above with reference to FIG. 4) is implemented as a discrete system that other computing systems (e.g., a resupply system 905) may interact with via an application programming interface (API) 920. For example,25 RSMD-0138PC-163678 the prediction system 405 may be implemented in a cloud deployment, allowing other systems to utilize the predictions without actually hosting or executing the machine learning model locally.

[0131] In the illustrated example, the resupply system 905 may be used for a variety of therapy-related purposes, such as managing resupply requests for users engaged in the therapy. For example, the resupply system 905 may be tasked with receiving resupply requests from users, facilitating the fulfillment of such requests, monitoring resupply inventories, monitoring user resupply attrition, and the like. In the illustrated example, the resupply system 905 may transmit a request 910 to the prediction system 405 via the API 920. Generally, the request 910 may include a request for updated resupply attrition prediction(s) for one or more users.

[0132] In some embodiments, the request 910 may include a request for updated predictions for all currently active users (e.g., users who are engaged in therapy and / or not currently under resupply attrition), or for a subset thereof. For example, in some aspects, the resupply system 905 may provide or point to a set of users, and the prediction system 405 may generate risk predictions (which may include identifying users currently approaching attrition, as discussed above). In some embodiments, the resupply system 905 may identify users that are currently approaching attrition, and may ask the prediction system 405 to generate predictions for each such user.

[0133] The prediction system 405 may generally use a variety of techniques to generate the attrition predictions 915, as discussed above. For example, in some embodiments, the prediction system 405 may identify a subset of users, from the users indicated in the request 910, that are approaching attrition (e.g., based on an initial evaluation of the user data, as discussed above). In some embodiments, for any users not currently approaching attrition, the attrition prediction 915 may indicate little or no risk of (imminent) resupply attrition. For users in the identified subset, the prediction system 405 may use additional evaluations (e.g., machine learning, as discussed above) to generate the corresponding attrition prediction 915.

[0134] As illustrated, the attrition predict! on(s) 915 are returned (e.g., via the API 920) to the resupply system 905. The resupply system 905 may generally take a variety of actions based on the predictions. For example in some aspects, the resupply system 905 may implement various interventions based on the predictions (e.g., determining whether to reach out to one or more of the users, how to contact them, whether to transmit an alert to any other entities or individuals such as care providers, and the like).

[0135] In these ways, the computational expense of the prediction generation may be offloaded to a remote system, allowing for more efficient and less computationally expensive operations for the system(s) (such as the resupply system 905) that consume the predictions.Example Method for Training Machine Learning Models to Predict Resupply Attrition

[0136] FIG. 10 is a flow diagram depicting an example method 1000 for training machine26 RSMD-0138PC-163678 learning models to predict resupply attrition, according to some embodiments of the present disclosure. In some embodiments, the method 1000 is performed by a training system (e.g., the training system 305 of FIG. 3), which may or may not also operate as a prediction system (e.g., the prediction system 405 of FIG.4). In some embodiments, the method 1000 provides additional detail for the operations of the system 300 of FIG. 3.

[0137] At block 1005, the training system accesses resupply history (e.g., the resupply history 330 of FIG. 3) and user data (e.g., the user data 325 of FIG. 3) to train one or more machine learning models (e.g., the machine learning model 335 of FIG. 3) to predict resupply attrition. For example, as discussed above, the resupply history may generally indicate various characteristics of prior resupply events for one or more users, such as the timing or dates of the resupplies, the contents of the resupplies, and the like. Similarly, as discussed above, the user data may include information about one or more users engaged in therapy (e.g., respiratory therapy), such as the users’ demographics, therapy data (e.g., usage information), and the like.

[0138] At block 1010, the training system generates a set of training exemplars based on the resupply history and user data. For example, as discussed above with reference to FIGS.2A-2D, the training system may identify, for each user, one or more points or windows in time where the user was “approaching” or “at risk” of resupply attrition, such as by evaluating the resupply history to identify windows where at least a defined period of time (e.g., six months) had elapsed since the user’s most recent resupply event. For one or more of these windows, the training system may generate a corresponding training exemplar (e.g., including one or more features from one or more windows prior to the approaching attrition event as input, and a label indicating whether the user completed final attrition or requested resupply prior to final attrition). In some embodiments, the method 1100 of FIG. 11 provides additional detail forblock 1010.

[0139] At block 1015, the training system trains a machine learning model (e.g., the machine learning model 335 of FIG. 3) using the training exemplars, as discussed above. Although the particular operations used to train the model may vary depending on the particular architecture and implementation, in some embodiments, training the model may generally include processing the exemplar(s) using the model to generate predictions, and updating parameters of the model based on the error(s) in these predictions relative to the corresponding exemplar label(s).

[0140] At block 1020, the training system determines whether one or more training termination criteria are met. Generally, the particular termination criteria may vary depending on the particular implementation, and may include determinations such as whether a defined number of training cycles, time, and / or expense has been used training, whether additional training exemplars remain, whether the model has reached a desired accuracy threshold, and the like.

[0141] If the criteria are not met, the method 1000 returns to block 1005. If the criteria are27 RSMD-0138PC-163678 met, the method 1000 continues to block 1025. At block 1025, the training system deploys the machine learning model for runtime use. As discussed above, deploying the model may generally include, for example, transmitting the learned parameter(s) to one or more prediction systems.

[0142] In some embodiments, as discussed above, the training system may train machine learning models to generate accurate attrition predictions with reduced computational expense (e.g., as compared to some conventional approaches) by selectively using training exemplars only for users that are already “at risk” of or “approaching” attrition. That is, if the training exemplars only reflect users that are already at risk, the model may be able to learn the relevant correlations and patterns with less expense (e.g., less compute time, fewer training resources, and the like), as compared to if the model was forced to learn patterns across a broader population of users (e.g., including users who are not otherwise at risk of attrition), which may require additional training samples, additional training time, and the like.Example Method for Generating Training Exemplars for Machine Learning

[0143] FIG. 11 is a flow diagram depicting an example method 1100 for generating training exemplars for machine learning, according to some embodiments of the present disclosure. In some embodiments, the method 1100 is performed by a training system (e.g., the training system 305 of FIG. 3), which may or may not also operate as a prediction system (e.g., the prediction system 405 of FIG. 4). In some embodiments, the method 1100 may provide additional detail for block 1010 of FIG. 10.

[0144] In some embodiments, the method 1100 may be performed separately for each user (sequentially, or entirely or partially in parallel) reflected in the training data. At block 1105, the training system identifies event(s), reflected in the resupply history of the user, indicating that the user was approaching attrition. For example, as discussed above, the training system may define or identify such events as occurring when at least a defined duration of time has elapsed since the last resupply event of the user.

[0145] At block 1110, the training system selects one of the “approaching attrition” events. Generally, the training system may use a variety of techniques to select the event, including randomly or pseudo-randomly, depending on the particular implementation. In some embodiments, the training system may select the events in reverse chronological order (e.g., starting with the most recent event and moving back in time) such that the exemplars are generated based on the most recent data available.

[0146] At block 1115, the training system determines whether the attrition corresponding to the “approaching attrition” event is complete, as reflected in the resupply history of the user. For example, as discussed above, the training system may determine whether the resupply history of the user includes at least one resupply event within a defined window subsequent to the28 RSMD-0138PC-163678 approaching attrition event (e.g., within six months). If so, the attrition may be determined to be “complete” in that the user did not attrit.

[0147] As another example, if the resupply history does not reflect any resupply events occurring within the defined window, the training system may determine whether at least a defined period of time has elapsed since the selected event and the current time (e.g., whether the user still has time to request resupply prior to final attrition). If so, the training system may determine that the attrition is not complete, as a label cannot yet be generated (e.g., the user has not requested resupply, but also has not yet attrited).

[0148] If the training system determines that the user completed final attrition (e.g., the full defined window has elapsed and the user did not request resupply during the window, even if they subsequently request resupply after the window), the training system may determine that the attrition is complete.

[0149] If, at block 1115, the training system determines that attrition is not complete, the method 1100 continues to block 1135 discussed in more detail below. If the training system determines that attrition is complete, the method 1100 continues to block 1120.

[0150] At block 1120, the training system determines whether the user data corresponding to the user contains a complete lookback window. For example, if the training system will use user data for the six months prior to the “approaching attrition” event to train the model, the training system may determine whether this window is present in the user data. If not (e.g., because the user is a new user, because the user data was deleted or is otherwise not available for the window, and the like), the method 1100 continues to block 1135, discussed in more detail below.

[0151] If the window is complete, the method 1100 continues to block 1125. At block 1125, the training system generates one or more feature(s) based on the lookback window, as discussed above. For example, as discussed above with reference to FIGS. 6 and / or 7, the training system may generate a variety of features for one or more windows of time within the overall lookback window. One example method for generating the features is discussed in more detail below with reference to FIG. 12.

[0152] At block 1130, the training system can then generate a label for the exemplar based on the resupply history, as discussed above. For example, if the user requested resupply during the defined window, the label may indicate that the user did not attrit. If the user did not request resupply prior to the end of the window, the label may indicate that the user attrited. The method 1100 then terminates at block 1140 (e.g., a single exemplar is generated for each user). In some aspects, rather than terminating, the method 1100 may continue to block 1135 (e.g., multiple exemplars may be generated for each user).

[0153] Returning to block 1135 (e.g., if the attrition was not complete and / or the lookback29 RSMD-0138PC-163678 window was not complete), if the training system may determine whether the resupply history of the user indicates one or more additional “approaching attrition” events. If so, the method 1100 returns to block 1110 to select the next event. If not, the method 1100 terminates at block 1140 (e.g., no exemplar is generated based on the user’s data).

[0154] In these ways, as discussed above, the training system may generate exemplars that will allow the models to be trained with reduced computational expense, as the exemplars may be selectively generated only for users that are already “at risk” of or “approaching” attrition. That is, if the training exemplars only reflect users that are already at risk, the model may be able to learn the relevant correlations and patterns with less expense (e.g., less compute time, fewer training resources, and the like), as compared to if the model was forced to learn patterns across a broader population of users (e.g., including users who are not otherwise at risk of attrition), which may require additional training samples, additional training time, and the like.Example Method for Generating Features for Machine Learning

[0155] FIG. 12 is a flow diagram depicting an example method 1200 for generating features for machine learning, according to some embodiments of the present disclosure. In some embodiments, the method 1200 is performed by a computing system, such as a dedicated training system (e.g., the training system 305 of FIG. 3) and / or a prediction system (e.g., the prediction system 405 of FIG. 4). In some embodiments, the method 1200 provides additional detail for the workflow 600 of FIG. 6, and / or for the block 1125 of FIG. 11 and / or the block 1320 of FIG. 13.

[0156] At block 1205, the computing system generates one or more demographics features (e.g., the demographics features 605 of FIG.6) for the user. For example, as discussed above, the computing system may generate features indicating the age of the user, the gender of the user, the contact preferences of the user, the insurance of the user, and the like.

[0157] At block 1210, the computing system generates one or more resupply features (e.g., the resupply features 620 of FIG.6) for the user. For example, as discussed above, the computing system may generate features indicating the number of previous resupply events (in total and / or during one or more defined windows), the frequency of such resupply events (e.g., the average and / or standard deviation of the window that elapses between each resupply), and the like.

[0158] At block 1215, the computing system generates one or more device features (e.g., the device features 615 of FIG. 6) for the user. For example, as discussed above, the computing system may generate features indicating the type of respiratory therapy device the user uses, the setting(s) or configuration(s) of the user’s therapy system, and the like.

[0159] At block 1220, the computing system selects a lookback window (e.g., one of the windows 710 of FIG. 7) over which therapy features are to be generated. Generally, the computing system may select the lookback window using any suitable technique (including30 RSMD-0138PC-163678 randomly or pseudo-randomly), as features will be generated for each defined lookback window during the method 1200.

[0160] At block 1225, the computing system generates one or more therapy features (e.g., the therapy features 610 of FIG.6) for the user based on the selected lookback window. For example, as discussed above, the computing system may use one or more aggregation operations to generate values such as the average, moving average, standard deviation, trend, and the like for one or more features such as the usage duration, mask leak, on / off events, and the like, as indicated by data collected or generated during the selected window.

[0161] At block 1230, the computing system determines whether one or more additional lookback windows remain to be evaluated. If so, the method 1200 returns to block 1220. Although the illustrated example depicts an iterative process (e.g., selecting and evaluating each lookback window sequentially) for conceptual clarity, in some aspects, the computing system may evaluate some or all of the lookback windows entirely or partially in parallel.

[0162] Returning to block 1230, if the computing system determines that no additional windows remain, the method 1200 continues to block 1235, where the computing system generates one or more ratio features for the user. For example, as discussed above, the computing system may generate features based on the ratio between therapy feature values in two or more different windows (e.g., the ratio between the average usage over the last fourteen days and the average usage of the last twenty-eight days).

[0163] As discussed above, these features may then be used to train the machine learning models (e.g., used as the input portion of a training exemplar) and / or to generate an output prediction using the trained model(s).Example Method for Using Machine Learning to Predict Resupply Attrition

[0164] FIG. 13 is a flow diagram depicting an example method 1300 for using machine learning to predict resupply attrition, according to some embodiments of the present disclosure. In some embodiments, the method 1300 is performed by a prediction system (e.g., the prediction system 405 of FIG. 4) which may or may not also operate as a training system (e.g., the training system 305 of FIG. 3). In some embodiments, the method 1300 provides additional detail for the operations of the system 400 of FIG. 4.

[0165] At block 1305, the prediction system accesses resupply history (e.g., the resupply history 430 of FIG. 4) for one or more users of respiratory therapy. For example, as discussed above, the resupply history may generally indicate various characteristics of prior resupply events for one or more users, such as the timing or dates of the resupplies, the contents of the resupplies, and the like. Similarly, as discussed above, the user data may include information about one or more users engaged in therapy (e.g., respiratory therapy), such as the users’ demographics, therapy31 RSMD-0138PC-163678 data (e.g., usage information), and the like.

[0166] At block 1310, the prediction system selects a user reflected in the resupply history (e.g., a user that is not currently attrited). Generally, the prediction system may use a variety of techniques to select the user (including randomly or pseudo-randomly), as each active user may be evaluated during the method 1300.

[0167] At block 1315, the prediction system determines whether the resupply history of the selected user satisfies one or more trigger criteria. For example, as discussed above, the prediction system may determine whether the user is “at risk” or “approaching” resupply attrition based on determining whether the resupply history satisfies one or more thresholds (e.g., a threshold length of time has elapsed since the most recent resupply event of the user).

[0168] If the criteria are not met, the method 1300 continues to block 1340. That is, the prediction system may refrain from further processing with respect to the user, substantially reducing the computational expense of the method 1300. In some embodiments, the prediction system refrains from generating any prediction for the user. In some embodiments, the prediction system may generate a prediction indicating that the user is not currently at risk of attrition (e.g., using a rules-based definition of at risk). In some embodiments, the prediction system may generate the prediction by processing some or all of the user data using a relatively lightweight evaluation model (as compared to the more complex model discussed below with reference to block 1325).

[0169] Returning to block 1315, if the prediction system determines that the trigger criteria are satisfied (e.g., that the user is approaching attrition), the method 1300 continues to block 1320, where the prediction system generates feature data for the user. In some embodiments, as discussed above, the prediction system may generate features based on evaluating user data and / or resupply data over one or more prior windows of time (e.g., over the time between the current time and the most recent resupply event). One example of generating the feature data is discussed above with reference to FIG. 12.

[0170] At block 1325, the prediction system generates a resupply attrition prediction (e.g., the attrition prediction 435 of FIG. 4) for the user based on processing the generated features using one or more trained machine learning models (e.g., the machine learning model 335 of FIG. 3).As discussed above, the resupply attrition prediction may generally indicate whether the user is predicted to undergo resupply attrition (e.g., whether a defined period of time will elapse without the user requesting resupply). For example, the attrition prediction may include a categorical classification, a continuous value or score (e.g., indicating the probability of attrition), and the like.

[0171] At block 1330, the prediction system determines whether one or more intervention32 RSMD-0138PC-163678 criteria are met based on the attrition prediction. For example, the prediction system may compare the prediction against one or more defined rules and / or thresholds to determine whether attrition is sufficiently likely to justify one or more interventions. If so, the method 1300 continues to block 1335, where the prediction system facilitates intervention for the user based on the prediction. For example, as discussed above, the prediction system may transmit a reminder or alert to the user and / or to one or more other entities. The method 1300 then continues to block 1340. Although the illustrated example depicts the prediction system performing interventions, in some aspects, the prediction system may instead output or provide the attrition prediction to another system (e.g., the resupply system 905 of FIG.9), and the other system may determine and implement interventions as desired.

[0172] Returning to block 1330, if the intervention criteria are not met, the method 1300 continues to block 1340, where the prediction system determines whether there is at least one additional user remaining to be evaluated. If so, the method 1300 returns to block 1310. If not, the method 1300 terminates. Although the illustrated example depicts an iterative process (e.g., selecting and evaluating each user sequentially) for conceptual clarity, in some aspects, the prediction system may evaluate some or all of the users entirely or partially in parallel.

[0173] Returning to block 1340, if there are no remaining users, the method 1300 terminates at block 1345.

[0174] In these ways, as discussed above, the prediction system may generate resupply attrition predictions with substantially reduced computational expense and network traffic, as the more expensive and burdensome evaluations may be performed only for users that are determined to be “at risk” of or “approaching” attrition. For remaining users, the prediction system may use relatively lightweight evaluations (or refrain from any further evaluation), significantly improving the efficiency of the prediction system.Example Method for Predicting Resupply Attrition over Extended Timeframes

[0175] FIG. 14 is a flow diagram depicting an example method 1400 for predicting resupply attrition over extended timeframes, according to some embodiments of the present disclosure. In some embodiments, the method 1400 is performed by a prediction system (e.g., the prediction system 405 of FIG. 4) which may or may not also operate as a training system (e.g., the training system 305 of FIG. 3). In some embodiments, the method 1400 provides additional detail for the timeframe adjustments discussed above with reference to FIG. 8.

[0176] At block 1405, the prediction system generates an initial resupply attrition prediction for the user using the machine learning model (e.g., generating Pb t0j, as discussed above). That is, the prediction system may generate the initial prediction as of the time of the “approaching attrition” event for the user.33 RSMD-0138PC-163678

[0177] At block 1410, the prediction system may determine the prediction window for the user (e.g., whether the current date corresponds to the approaching attrition event, such that the full prediction window remains, or whether the current date is subsequent to the approaching attrition event, such that the predicted attrition will occur sooner relative to the current date). For example, if the normal prediction window is six months after the “approaching attrition” event, the prediction system may determine the actual number of months that remain until this date.

[0178] At block 1415, the prediction system determines whether the prediction window is reduced (e.g., whether fewer than six months remain to the final attrition date). If not, the method 1400 continues to block 1420, where the prediction system returns the initial attrition prediction (e.g., the prediction is not modified).

[0179] If the window is reduced, the method 1400 continues to block 1425, where the prediction system generates a prediction adjustment based on the length of the (reduced) prediction window. For example, the prediction system may use various algorithms and techniques as discussed above with reference to FIG. 8 to generate the adjustment factor.

[0180] At block 1430, the prediction system modifies the initial prediction based on the prediction adjustment (e.g., increasing the initial prediction to reflect the additional time that has passed). Finally, at block 1435, the prediction system returns the modified prediction to the requesting entity.

[0181] In these ways, the prediction system may generate accurate predictions for modified (e.g., reduced) timelines without relying on retraining of the machine learning model, as discussed above.Example Method for Predicting Resupply Attrition

[0182] FIG. 15 is a flow diagram depicting an example method 1500 for predicting resupply attrition, according to some embodiments of the present disclosure. In some embodiments, the method 1500 is performed by a prediction system (e.g., the prediction system 405 of FIG. 4) which may or may not also operate as a training system (e.g., the training system 305 of FIG. 3).

[0183] At block 1505, resupply history for a plurality of users of respiratory therapy is accessed.

[0184] At block 1510, it is determined that a first user of the plurality of users is approaching resupply attrition based on the resupply history.

[0185] At block 1515, in response to determining that the first user is approaching resupply attrition, first therapy data, for the first user, associated with the respiratory therapy is collected, and a first attrition prediction is generated for the first user based on processing the first therapy data using a machine learning model.

[0186] At block 1520, a first intervention is facilitated for the first user based on the first34 RSMD-0138PC-163678 attrition prediction.Example Processing System for Attrition Prediction Machine Learning

[0187] FIG. 16 depicts an example computing device 1600 configured to perform various aspects of the present disclosure, according to some embodiments disclosed herein. Although depicted as a physical device, in embodiments, the computing device 1600 may be implemented using virtual device(s), and / or across a number of devices (e.g., in a cloud environment). In one embodiment, the computing device 1600 corresponds to a computing system, such as the training system 305 of FIG. 3, the prediction system 405 of FIG. 4, and / or the prediction, training, and / or computing systems discussed above with reference to FIGS. 1, 2A-2D, and / or 5-15.

[0188] As illustrated, the computing device 1600 includes a CPU 1605, memory 1610, storage 1615, a network interface 1625, and one or more input / output (I / O) interfaces 1620. In the illustrated embodiment, the CPU 1605 retrieves and executes programming instructions stored in memory 1610, as well as stores and retrieves application data residing in storage 1615. The CPU 1605 is generally representative of a single CPU and / or GPU, multiple CPUs and / or GPUs, a single CPU and / or GPU having multiple processing cores, and the like. The memory 1610 is generally included to be representative of a random access memory. Storage 1615 may be any combination of disk drives, flash-based storage devices, and the like, and may include fixed and / or removable storage devices, such as fixed disk drives, removable memory cards, caches, optical storage, network attached storage (NAS), or storage area networks (SAN).

[0189] In some embodiments, I / O devices 1635 (such as keyboards, monitors, etc.) are connected via the I / O interface(s) 1620. Further, via the network interface 1625, the computing device 1600 can be communicatively coupled with one or more other devices and components (e.g., via a network, which may include the Internet, local network(s), and the like). As illustrated, the CPU 1605, memory 1610, storage 1615, network interface(s) 1625, and I / O interface(s) 1620 are communicatively coupled by one or more buses 1630.

[0190] In the illustrated embodiment, the memory 1610 includes a training component 1650 and a prediction component 1655, which may perform one or more embodiments discussed above. Although depicted as discrete components for conceptual clarity, in embodiments, the operations of the depicted components (and others not illustrated) may be combined or distributed across any number of components. Further, although depicted as software residing in memory 1610, in embodiments, the operations of the depicted components (and others not illustrated) may be implemented using hardware, software, or a combination of hardware and software.

[0191] In some embodiments, the training component 1650 can be used to generate, train, and / or update machine learning models (e.g., the machine learning model 335 of FIG. 3), as discussed above. For example, the training component 1650 may use training data (e.g., training35 RSMD-0138PC-163678 exemplars generated based on resupply history and user data) to update or generate trained machine learning models, such that the models learn to predict future resupply attrition, as discussed above.

[0192] In some embodiments, the prediction component 1655 can be used to predict future attrition risk (e.g., the resupply attrition prediction 435 of FIG. 4), as discussed above. For example, the prediction component 1655 may use trained machine learning models (e.g., the machine learning model 335 of FIG. 4) to generate predicted resupply attrition measures (e.g., categorical and / or continuous scores). In some embodiments, as discussed above, the prediction component 1655 may selectively or adaptively generate such predictions only for a subset of users, as discussed above. For example, the prediction component 1655 may perform an initial evaluation (e.g., using one or more rules or thresholds) to determine whether to use the machine learning model(s) to generate a resupply attrition prediction for the given user, as discussed above.

[0193] In the illustrated example, the storage 1615 includes resupply history 1665 (which may correspond to the resupply history 330 of FIG. 3 and / or the resupply history 430 of FIG. 4). The storage 1615 also includes user data 1670 (which may correspond to the user data 325 of FIG. 3 and / or the user data 425 of FIG. 4). Although depicted as residing in storage 1615, the depicted data may be stored in any suitable location, including memory 1610.

[0194] Generally, the depicted components (and others not depicted) in memory 1610 may evaluate and / or use the depicted data (and others not depicted) in storage 1615 to provide accurate and efficient resupply attrition predictions, as discussed above.Example Clauses

[0195] Clause 1: A method, comprising: accessing resupply history for a plurality of users of respiratory therapy; determining that a first user of the plurality of users is approaching resupply attrition based on the resupply history; in response to determining that the first user is approaching resupply attrition: collecting first therapy data, for the first user, associated with the respiratory therapy; and generating a first attrition prediction for the first user based on processing the first therapy data using a machine learning model; and facilitating a first intervention for the first user based on determining that the first attrition prediction satisfies one or more criteria.

[0196] Clause 2: A method according to Clause 1, further comprising: generating a second attrition prediction for a second user, of the plurality of users, based on processing second therapy data using the machine learning model; and facilitating a second intervention for the second user based on determining that the second attrition prediction satisfies the one or more criteria.

[0197] Clause 3: A method according to Clause 1 or 2, further comprising: determining that a second user of the plurality of users is not approaching resupply attrition based on the resupply history; and in response to determining that the second user is not approaching resupply attrition,36 RSMD-0138PC-163678 refraining from generating an attrition prediction for the second user.

[0198] Clause 4: A method according to any of Clauses 1-3, wherein determining that the first user is approaching resupply attrition comprises determining that at least a defined period of time has elapsed since a most recent resupply request of the first user.

[0199] Clause 5: A method according to any of Clauses 1-4, wherein the first attrition prediction indicates whether the first user is predicted to submit a resupply request before a defined period of elapses.

[0200] Clause 6: A method according to any of Clauses 1-5, wherein collecting the first therapy data comprises generating one or more therapy features including at least one of: (i) an amount of usage of the respiratory therapy by the first user, (ii) a number of times the first user donned and doffed a user interface of the respiratory therapy, (iii) an amount of air leak from the user interface during the respiratory therapy, (iv) an amount of pressure used by the first user during the respiratory therapy, or (v) an apnea-hypopnea index (AHI) of the first user.

[0201] Clause 7: A method according to Clause 6, wherein each of the one or more therapy features is generated using a plurality of aggregation operations for data corresponding to a plurality of windows of time.

[0202] Clause 8: A method according to any of Clauses 1-7, wherein generating the first attrition prediction is based further on processing, using the machine learning model, one or more of (i) demographics data of the first user, or (ii) device characteristics of the respiratory therapy.

[0203] Clause 9: A method according to any of Clauses 1-8, wherein generating the first attrition prediction is based further on processing, using the machine learning model, resupply history of the first user.

[0204] Clause 10: A processing system, comprising: one or more processors; and one or more memories collectively comprising computer-executable instructions which, when executed on any combination of the one or more processors, cause the processing system to perform a method in accordance with any one of Clauses 1-9.

[0205] Clause 11: A system, comprising means for performing a method in accordance with any one of Clauses 1-9.

[0206] Clause 12: One or more non -transitory computer readable media collectively containing, in any combination, computer program code that, when executed by operation of a computing system, causes the computing system to perform a method in accordance with any one of Clauses 1-9.

[0207] Clause 13: A computer program product embodied on a computer-readable storage medium comprising code for performing a method in accordance with any one of Clauses 1-9.37 RSMD-0138PC-163678Additional Considerations

[0208] One or more elements or aspects or steps, or any portion(s) thereof, from one or more of any of claims below can be combined with one or more elements or aspects or steps, or any portion(s) thereof, from one or more of any of the other claims below or combinations thereof, to form one or more additional implementations and / or claims of the present disclosure.

[0209] While the present disclosure has been described with reference to one or more particular embodiments or implementations, those skilled in the art will recognize that many changes may be made thereto without departing from the spirit and scope of the present disclosure. Each of these implementations and obvious variations thereof is contemplated as falling within the spirit and scope of the present disclosure. It is also contemplated that additional implementations according to aspects of the present disclosure may combine any number of features from any of the implementations described herein.

[0210] The preceding description is provided to enable any person skilled in the art to practice the various embodiments described herein. The examples discussed herein are not limiting of the scope, applicability, or embodiments set forth in the claims. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments. For example, changes may be made in the function and arrangement of elements discussed without departing from the scope of the disclosure. Various examples may omit, substitute, or add various procedures or components as appropriate. For instance, the methods described may be performed in an order different from that described, and various steps may be added, omitted, or combined. Also, features described with respect to some examples may be combined in some other examples. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover such an apparatus or method that is practiced using other structure, functionality, or structure and functionality in addition to, or other than, the various aspects of the disclosure set forth herein. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of a claim.

[0211] As used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.

[0212] As used herein, a phrase referring to “at least one of’ a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a c c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c).38 RSMD-0138PC-163678

[0213] As used herein, the term “determining” encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” may include resolving, selecting, choosing, establishing and the like.

[0214] The methods disclosed herein comprise one or more steps or actions for achieving the methods. The method steps and / or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims. Further, the various operations of methods described above may be performed by any suitable means capable of performing the corresponding functions. The means may include various hardware and / or software component(s) and / or module(s), including, but not limited to a circuit, an application specific integrated circuit (ASIC), or processor. Generally, where there are operations illustrated in figures, those operations may have corresponding counterpart means-plus-function components with similar numbering.

[0215] Embodiments of the invention may be provided to end users through a cloud computing infrastructure. Cloud computing generally refers to the provision of scalable computing resources as a service over a network. More formally, cloud computing may be defined as a computing capability that provides an abstraction between the computing resource and its underlying technical architecture (e.g., servers, storage, networks), enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. Thus, cloud computing allows a user to access virtual computing resources (e.g., storage, data, applications, and even complete virtualized computing systems) in “the cloud,” without regard for the underlying physical systems (or locations of those systems) used to provide the computing resources.

[0216] Typically, cloud computing resources are provided to a user on a pay-per-use basis, where users are charged only for the computing resources actually used (e.g., an amount of storage space consumed by a user or a number of virtualized systems instantiated by the user). A user can access any of the resources that reside in the cloud at any time, and from anywhere across the Internet. In context of the present invention, a user may access applications or systems (e.g., the training system and / or prediction system) or related data available in the cloud. For example, the training system and / or prediction system could execute on a computing system in the cloud and train and use machine learning models to predict resupply attrition risks. In such a case, the39 RSMD-0138PC-163678 training system and / or prediction system could receive and process the therapy data, and store the models and predictions at a storage location in the cloud. Doing so allows a user to access this information from any computing system attached to a network connected to the cloud (e.g., the Internet).

[0217] The following claims are not intended to be limited to the embodiments shown herein, but are to be accorded the full scope consistent with the language of the claims. Within a claim, reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. No claim element is to be construed under the provisions of 35 U.S.C. §112(f) unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.” All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims.

Claims

40 RSMD-0138PC-163678CLAIMS WHAT IS CLAIMED IS:

1. A method, comprising:accessing resupply history for a plurality of users of respiratory therapy; determining that a first user of the plurality of users is approaching resupply attrition based on the resupply history;in response to determining that the first user is approaching resupply attrition:collecting first therapy data, for the first user, associated with the respiratory therapy; andgenerating a first attrition prediction for the first user based on processing the first therapy data using a machine learning model; andfacilitating a first intervention for the first user based on the first attrition prediction.

2. The method of claim 1, further comprising:generating a second attrition prediction for a second user, of the plurality of users, based on processing second therapy data using the machine learning model; andfacilitating a second intervention for the second user based on the second attrition prediction.

3. The method of claim 1, further comprising:determining that a second user of the plurality of users is not approaching resupply attrition based on the resupply history; andin response to determining that the second user is not approaching resupply attrition, refraining from generating an attrition prediction for the second user.

4. The method of claim 1, wherein determining that the first user is approaching resupply attrition comprises determining that at least a defined period of time has elapsed since a most recent resupply request of the first user.

5. The method of claim 1, wherein the first attrition prediction indicates whether the first user is predicted to submit a resupply request before a defined period of elapses.

6. The method of claim 1, wherein collecting the first therapy data comprises generating one or more therapy features including at least one of:(i) an amount of usage of the respiratory therapy by the first user,(ii) a number of times the first user donned and doffed a user interface of the respiratory therapy,(iii) an amount of air leak from the user interface during the respiratory therapy, (iv) an amount of pressure used by the first user during the respiratory therapy, or (v) an apnea-hypopnea index (AHI) of the first user.41 RSMD-0138PC-163678 7. The method of claim 6, wherein each of the one or more therapy features is generated using a plurality of aggregation operations for data corresponding to a plurality of windows of time.

8. The method of claim 1, wherein generating the first attrition prediction is based further on processing, using the machine learning model, one or more of (i) demographics data of the first user, or (ii) device characteristics of the respiratory therapy.

9. The method of claim 1, wherein generating the first attrition prediction is based further on processing, using the machine learning model, resupply history of the first user.

10. A processing system, comprising:one or more processors; andone or more memories collectively comprising computer-executable instructions which, when executed on any combination of the one or more processors, cause the processing system to perform an operation comprising:accessing resupply history for a plurality of users of respiratory therapy; determining that a first user of the plurality of users is approaching resupply attrition based on the resupply history;in response to determining that the first user is approaching resupply attrition:collecting first therapy data, for the first user, associated with the respiratory therapy; andgenerating a first attrition prediction for the first user based on processing the first therapy data using a machine learning model; andfacilitating a first intervention for the first user based on the first attrition prediction.

11. The processing system of claim 10, the operation further comprising:generating a second attrition prediction for a second user, of the plurality of users, based on processing second therapy data using the machine learning model; andfacilitating a second intervention for the second user based on the second attrition prediction.

12. The processing system of claim 10, the operation further comprising:determining that a second user of the plurality of users is not approaching resupply attrition based on the resupply history; andin response to determining that the second user is not approaching resupply attrition, refraining from generating an attrition prediction for the second user.42 RSMD-0138PC-163678 13. The processing system of claim 10, wherein determining that the first user is approaching resupply attrition comprises determining that at least a defined period of time has elapsed since a most recent resupply request of the first user.

14. The processing system of claim 10, wherein the first attrition prediction indicates whether the first user is predicted to submit a resupply request before a defined period of elapses.

15. The processing system of claim 10, wherein collecting the first therapy data comprises generating one or more therapy features including at least one of:(i) an amount of usage of the respiratory therapy by the first user,(ii) a number of times the first user donned and doffed a user interface of the respiratory therapy,(iii) an amount of air leak from the user interface during the respiratory therapy, (iv) an amount of pressure used by the first user during the respiratory therapy, or (v) an apnea-hypopnea index (AHI) of the first user.

16. One or more non-transitory computer readable media collectively containing, in any combination, computer program code that, when executed by operation of a computing system, performs an operation comprising:accessing resupply history for a plurality of users of respiratory therapy; determining that a first user of the plurality of users is approaching resupply attrition based on the resupply history;in response to determining that the first user is approaching resupply attrition:collecting first therapy data, for the first user, associated with the respiratory therapy; andgenerating a first attrition prediction for the first user based on processing the first therapy data using a machine learning model; andfacilitating a first intervention for the first user based on the first attrition prediction.

17. The one or more non-transitory computer readable media of claim 16, the operation further comprising:generating a second attrition prediction for a second user, of the plurality of users, based on processing second therapy data using the machine learning model; andfacilitating a second intervention for the second user based on the second attrition prediction.

18. The one or more non-transitory computer readable media of claim 16, the operation further comprising:43 RSMD-0138PC-163678 determining that a second user of the plurality of users is not approaching resupply attrition based on the resupply history; andin response to determining that the second user is not approaching resupply attrition, refraining from generating an attrition prediction for the second user.

19. The one or more non-transitory computer readable media of claim 16, wherein determining that the first user is approaching resupply attrition comprises determining that at least a defined period of time has elapsed since a most recent resupply request of the first user.

20. The one or more non-transitory computer readable media of claim 16, wherein the first attrition prediction indicates whether the first user is predicted to submit a resupply request before a defined period of elapses.