Aside from additional data and feature engineering, how can I make sure my ML model picks up on patterns that only apply to certain thresholds or ranges? For example, assume I use data about users and movie ratings. I want to predict parameters for user ratings and watch time to predict total revenue from the movie. The rating of a user who watched for twenty minutes might deserve a 0.1 weight relative to other watchers, a user who watched forty-five minutes 0.5, and a user who watched two hours 1. In other words, the ability of each user's rating to predict movie profits varies unevenly depending on user watch time.
All I can think of is to engineer a new feature like user rating weighted by watch time. The alternative is to gather more data and hope that the relationship happens to emerge in my training set.