A method performed by a prediction device for determining an opportune time for user interaction, the method comprising: receiving a request from a client application for an indication of whether a user is open to participate in a user interaction; obtaining usage information regarding the user's recent activity on a user device ; applying at least one trained predictive model to the usage information to identify the user's current contextual state, wherein the current contextual state comprises at least one of: an availability measure representative of the user's current ability to perform a physical action associated with the user interaction, and a receptiveness measure representative of the user's current ability to pay attention to the user interaction; determining an opportunity indication based on the user's contextual state; providing the opportunity indication to the client application; and subsequent to providing the opportunity indication to the client application: obtaining feedback information regarding the user's reaction to the client application; discerning from the feedback information a label regarding at least one of availability and receptiveness of the user; generating a training example by associating the label with the usage information; updating an existing training set by at least adding the training example to the existing training set to generate an updated training set; and retraining the at least one trained predictive model based on the updated training set. receiving a request from a client application for an indication of whether a user is open to participate in a user interaction; obtaining usage information regarding the user's recent activity on a user device ; applying at least one trained predictive model to the usage information to identify the user's current contextual state, wherein the current contextual state comprises at least one of: an availability measure representative of the user's current ability to perform a physical action associated with the user interaction, and a receptiveness measure representative of the user's current ability to pay attention to the user interaction; an availability measure representative of the user's current ability to perform a physical action associated with the user interaction, and a receptiveness measure representative of the user's current ability to pay attention to the user interaction; determining an opportunity indication based on the user's contextual state; providing the opportunity indication to the client application; and subsequent to providing the opportunity indication to the client application: obtaining feedback information regarding the user's reaction to the client application; discerning from the feedback information a label regarding at least one of availability and receptiveness of the user; generating a training example by associating the label with the usage information; updating an existing training set by at least adding the training example to the existing training set to generate an updated training set; and retraining the at least one trained predictive model based on the updated training set. obtaining feedback information regarding the user's reaction to the client application; discerning from the feedback information a label regarding at least one of availability and receptiveness of the user; generating a training example by associating the label with the usage information; updating an existing training set by at least adding the training example to the existing training set to generate an updated training set; and retraining the at least one trained predictive model based on the updated training set. <EOS>