| CPC G06Q 30/0631 (2013.01) [G06Q 30/0629 (2013.01); G06Q 30/08 (2013.01)] | 18 Claims | 

| 
               1. A method performed by one or more computer processors, the method comprising: 
            receiving an order comprising a set of items for a user; 
                identifying an ordered item from the set of items for suggesting a replacement item to the user; 
                determining a set of candidate replacement items for the ordered item; 
                determining a total score for each candidate replacement item in the set of candidate replacement items by: 
                determining a replacement score for the candidate replacement item indicating a likelihood that the candidate replacement item would be selected by the user as a replacement for the ordered item, 
                  determining a source similarity score indicating a similarity between a first source of the ordered item and a second source of the candidate replacement item, wherein determining the source similarity score comprises: 
                  accessing a first source embedding for the first source, wherein the first source embedding is generated by source embedding layers of a machine-learning model, wherein the machine-learning model comprises the source embedding layers and user embedding layers and is trained to predict user-source interactions based on user data and source feature data associated with a source, wherein the machine-learning model is trained based on training examples comprising source features associated with a source for input to the source embedding layers, user data describing a user for input to the user embedding layers, and a label indicating whether the user interacted with the source, 
                    accessing a second source embedding for the second source, wherein the second source embedding is generated by the source embedding layers of the machine-learning model, and 
                    computing a difference between the first source embedding and the second source embedding, and 
                  combining the replacement score and the source similarity score to generate the total score; 
                selecting one or more candidate replacement items based on the total scores; and 
                transmitting information identifying the one or more selected replacement items for display to the user. 
               |