1. A computer-implemented method comprising: receiving identification input data associated with a user; verifying an identity of the user using the identification input data; receiving sensor data; determining, based on the sensor data and one or more of predefined situation data, a user request history, a user situation history, and map data, a current situation describing a current driving activity associated with the user of a mobile computing device; receiving data describing a set of candidate items; classifying each candidate item of the set of candidate items into one or more groups; determining one or more group IDs for each candidate item based on one or more of the groups in which the candidate item is classified; determining, for each candidate item, one or more group efficacy models associated with the candidate item, each of the one or more group efficacy models including a particular group of items that includes the candidate item, each of the one or more group efficacy models encoding a bias based on item attributes of the items in the particular group; generating a user efficacy model for the user using the identity of the user, the one or more group efficacy models associated with each of the candidate items of the set, the one or more group IDs associated with each of the one or more of the candidate items of the set, and the current situation describing the current driving activity; generating a set of efficacy scores for the set of candidate items based on the current situation and the user efficacy model associated with the user; eliminating one or more candidate items from the set of candidate items to obtain one or more remaining candidate items; ranking the one or more remaining candidate items based on one or more efficacy scores associated with the one or more remaining candidate items; and providing one or more recommendation items to the user from the one or more ranked remaining candidate items.