If you want “things that belong in this same shopping cart” you need to train a model on shopping carts. Each cart would have a “user-id” or unique identifier per cart (nor really a user-id but that is how it would be input), then you would request item-set recommendations for the current contents of the shopping cart.
If you make the same query after training on user events like “purchase” you will get similar items. This may give you items that look a lot like what you have in the cart already and not be what you want. You want things that go with the cart contents not things like the cart contents. In this sense the template you were using before is incorrect, you should have used “complimentary purchases". But no worry the UR does both (and others), you just need to input different event encodings to get the 2 different results. On May 16, 2017, at 12:50 PM, Dennis Honders <[email protected]> wrote: My intent was not to mix the user id and item ids but maybe show a list of recommendations by the user id and another list by the item ids. The current use case is shopping cart recommendations. So I both have a user id and a list of item ids in the shopping cart. 2017-05-16 19:42 GMT+02:00 Pat Ferrel <[email protected] <mailto:[email protected]>>: Answers below: On May 16, 2017, at 10:19 AM, Dennis Honders <[email protected] <mailto:[email protected]>> wrote: Hi, 1. I already used similar product template for experimenting. https://predictionio.incubator.apache.org/templates/similarproduct/quickstart/ <https://predictionio.incubator.apache.org/templates/similarproduct/quickstart/> For UR, are the data queries for the eventserver about the same, but can take more properties? In my case three events. Set users, set items and set buys. The UR only needs the buys and determines users and items from the buys, you’d do better is you have other events like product detail views, or category of item bought, etc. 2. I have coordinates for the users. Is this supported as property? Yes to location but lat/lon is problematic. Some area location like postal code or something like country+province+city works much better. These need to be able to contain more than one person so lat/lon is theoretically not applicable since it is too fine grained. Note: in my case I like to make predictions by user id and by an array of item ids which is supported, also for products that are never bought for cold start. I have item properties like category id, manufacturer id, label and price range. All are supported but I’ll warn that you should test these results, mixing user-id and item-sets has no theoretical basis for working and without correct boosting of one over the other may interfere and create less good results. Also item-sets can work to produce either "similar items" or “complimentary items” as in things you might want in the same shopping cart. These require different model building. How are you generating the array of items? what is your goal for this? If you want items similar to the one being viewed—on the current page for instance, use an item-based query, it will return similar items to the one viewed and can mix with user-based items. In general everything you mention is supported but my gut feel is that it may be overly complicated so I’d advise A/B testing with a stripped down simple query against this query to see if it really does produce better conversions. Let you data be your guide—intuition must be tested. Adding rules is often needed and is supported but may also reduce conversion lift in unexpected ways. Thanks in advance
