![](/etc/designs/adobeforums/images/icons/quote-arrows.png)
kautuksahni wrote...
Hi
Yes, we can achieve this but for that we need to create a component with our custom logic.
Link:- http://stackoverflow.com/questions/2323768/how-does-the-amazon-recommendation-feature-work
Recently i read an article covering "How does the Amazon Recommendation feature work?"
It is both an art and a science. Typical fields of study revolve around market basket analysis (also called affinity analysis) which is a subset of the field of data mining. Typical components in such a system include identification of primary driver items and the identification of affinity items (accessory upsell, cross sell).
Keep in mind the data sources they have to mine...
Purchased shopping carts = real money from real people spent on real items = powerful data and a lot of it.
Items added to carts but abandoned.
Pricing experiments online (A/B testing, etc.) where they offer the same products at different prices and see the results
Packaging experiments (A/B testing, etc.) where they offer different products in different "bundles" or discount various pairings of items
Wishlists - what's on them specifically for you - and in aggregate it can be treated similarly to another stream of basket analysis data
Referral sites (identification of where you came in from can hint other items of interest)
Dwell times (how long before you click back and pick a different item)
Ratings by you or those in your social network/buying circles - if you rate things you like you get more of what you like and if you confirm with the "i already own it" button they create a very complete profile of you
Demographic information (your shipping address, etc.) - they know what is popular in your general area for your kids, yourself, your spouse, etc.
user segmentation = did you buy 3 books in separate months for a toddler? likely have a kid or more.. etc.
Direct marketing click through data - did you get an email from them and click through? They know which email it was and what you clicked through on and whether you bought it as a result.
Click paths in session - what did you view regardless of whether it went in your cart
Number of times viewed an item before final purchase
If you're dealing with a brick and mortar store they might have your physical purchase history to go off of as well (i.e. toys r us or something that is online and also a physical store)
etc. etc. etc.
If we talk about Amazon.com, the four big take-a-ways you should have are:
Amazon (or any retailer) is looking at aggregate data for tons of transactions and tons of people... this allows them to even recommend pretty well for anonymous users on their site.
Amazon (or any sophisticated retailer) is keeping track of behavior and purchases of anyone that is logged in and using that to further refine on top of the mass aggregate data.
Often there is a means of over riding the accumulated data and taking "editorial" control of suggestions for product managers of specific lines (like some person who owns the 'digital cameras' vertical or the 'romance novels' vertical or similar) where they truly are experts
There are often promotional deals (i.e. sony or panasonic or nikon or canon or sprint or verizon pays additional money to the retailer, or gives a better discount at larger quantities or other things in those lines) that will cause certain "suggestions" to rise to the top more often than others - there is always some reasonable business logic and business reason behind this targeted at making more on each transaction or reducing wholesale costs, etc.
Link 2:- http://stackoverflow.com/questions/794870/algorithm-for-suggesting-products
Simple and straightforward (order cart):
Keep a list of transactions in terms of what items were ordered together. For instance when someone buys a camcorder on Amazon, they also buy media for recording at the same time.
When deciding what is "suggested" on a given product page, look at all the orders where that product was ordered, count all the other items purchased at the same time, and then display the top 5 items that were most frequently purchased at the same time.
You can expand it from there based not only on orders, but what people searched for in sequence on the website, etc.
In terms of a rating system (ie, movie ratings):
It becomes more difficult when you throw in ratings. Rather than a discrete basket of items one has purchased, you have a customer history of item ratings.
At that point you're looking at data mining, and the complexity is tremendous.
A simple algorithm, though, isn't far from the above, but it takes a different form. Take the customer's highest rated items, and the lowest rated items, and find other customers with similar highest rated and lowest rated lists. You want to match them with others that have similar extreme likes and dislikes - if you focus on likes only, then when you suggest something they hate, you'll have given them a bad experience. In suggestions systems you always want to err on the side of "lukewarm" experience rather than "hate" because one bad experience will sour them from using the suggestions.
Suggest items in other's highest lists to the customer.
I hope this will help you.
Thanks and Regards
Kautuk Sahni
Please, I would like to rephrase my previous question adding more details
The use case I am dealing with is when a customer buys a combo product instead of some isolated products
Example
Prices for individual products
- Hamburguer – 3$
- Chips - $2
- Coffe - $2
However, if the customer buys these 3 products, the price in the shopping cart is $5,5 instead of $7, because these 3 products are equivalent to 1 combo product more cheaper
Prices when combo product is applied
- Combo product $5,5 (Hamburguer – 2,5$, Chips - $1,5, Coffe - $1,5)
And finally, in the shooping cart, if one of these products (i.e. chips) is removed, the price would be updated with the original values (it is not longer a combo product but 2 isolated products (hamburger and coffe)
Example
If the customer has uploaded into the shopping cart the Hamburguer, with chips and a coffe, he will be charged by $7. However, if he removed the chips, the price for the hamburguer and the coffe will be updated to $5, instead of $4
I wonder if it would be possible to define a combo/bundle product. My understanding is that it would help me to manage the situation when any item is removed from the shopping cart
I would appreciate any idea regarding this topic