A method performed by a system comprising one or more processors and one or more sensors configured to provide sensor data reflecting user activity detected by the one or more sensors, the method comprising: populating, using a sleep model engine, an interaction dataset based at least in part on previously-sensed interaction data comprised of sensor data provided at a first time; training, using the sleep model engine, a user sleep model by analyzing the interaction dataset to identify one or more sleep-related features and sleep-related logic that maps sensor data to the one or more sleep-related features and defines logical relationships between the one or more sleep-related features and sleep-related inferences; evaluating currently-sensed interaction data comprised of sensor data provided at a second time subsequent to the first time, with the user sleep model to determine a sleep-related inference; updating a sleep-related profile associated with the user using the sleep-related inference, wherein the sleep-related profile is comprised of one or more sleep-related aspects of a sleeping pattern, wherein the one or more sleep-related aspects comprise a prediction for a future time of one or more of a bedtime or a wakening time, the one or more sleep-related aspects of the sleeping pattern to be used by at least one of an application on a mobile device of the user and a client-side device of the user having automation capabilities; identifying the sleep-related inference as an outlier inference using a pre-determined cutoff; determining interaction data associated with a particular geographic location; storing data associated with the outlier inference and the interaction data associated with the particular geographic location in an outlier dataset; training an alternative user sleep model using the outlier dataset to generate an alternative sleep-related profile associated with the particular geographic location for the user, the alternative sleep-related profile comprising sleep-related aspects for the user that are specific to the particular geographic location. populating, using a sleep model engine, an interaction dataset based at least in part on previously-sensed interaction data comprised of sensor data provided at a first time; training, using the sleep model engine, a user sleep model by analyzing the interaction dataset to identify one or more sleep-related features and sleep-related logic that maps sensor data to the one or more sleep-related features and defines logical relationships between the one or more sleep-related features and sleep-related inferences; evaluating currently-sensed interaction data comprised of sensor data provided at a second time subsequent to the first time, with the user sleep model to determine a sleep-related inference; updating a sleep-related profile associated with the user using the sleep-related inference, wherein the sleep-related profile is comprised of one or more sleep-related aspects of a sleeping pattern, wherein the one or more sleep-related aspects comprise a prediction for a future time of one or more of a bedtime or a wakening time, the one or more sleep-related aspects of the sleeping pattern to be used by at least one of an application on a mobile device of the user and a client-side device of the user having automation capabilities; identifying the sleep-related inference as an outlier inference using a pre-determined cutoff; determining interaction data associated with a particular geographic location; storing data associated with the outlier inference and the interaction data associated with the particular geographic location in an outlier dataset; training an alternative user sleep model using the outlier dataset to generate an alternative sleep-related profile associated with the particular geographic location for the user, the alternative sleep-related profile comprising sleep-related aspects for the user that are specific to the particular geographic location.