Experiment with search & recommendation algorithms

1. Explicitly collect data from customers. Ask them to answer questions, search for things, rank, rate, or choose between things, or add things to a list.

Data collected explicitly can help make relevant recommendations about everything from content to products to experiences.

2. Collect data implicitly by tracking and storing user behavior. Collect data for items viewed, frequency of visits, items added to a cart, purchases made, content viewed, social shares and engagement, and likes or dislikes in users' social networks.

Ensure that users have properly consented to any data collected implicitly and that your data collection conforms to all applicable privacy laws and best practices.

3. Connect and centralize the data you have collected about users from multiple sources, and organize it in standard forms for better understanding and comparison.

After the data has been arranged into rows and columns or an easy way to visualize numerical relationships, you gain the ability to compare a user and the products they use with other users’ preferences and behavior.

4. Try a contextual collaborative filtering algorithm to aid discovery of products, using the URL the user is currently viewing, by recommending items frequently viewed or purchased by other visitors of that URL.

Other contextual recommendations that can be made are: Items that are typically viewed together. Substitutions for the item if it is out of stock.

5. Test a browsing history based collaborative filtering algorithm to produce search results or recommendations based on what users with similar browsing histories have viewed or purchased.

Browsing history based algorithms work with as few as two page views and become more accurate as page views for that user increase.

6. Experiment with a purchase history based collaborative filtering algorithm, by leveraging data from customers with similar purchase histories to recommend add-on items during or post purchase.

7. Create your own algorithm by building a function that uses your dataset to explicitly compare a selected customer with several other customers.

Write a function that generates a set of customers whose behavior is similar to that of customer A. One way to do this is to use machine learning libraries, such as Python’s scikit-learn, to determine the Nearest Neighbors algorithm and then: Design a function that uses the standard forms created to explicitly compare a selected customer (customer A) and several other customers. Create a function that determines the products similar customers have bought and customer A has not, and recommend those products. Rank the products according to the likelihood of customer A buying them suggesting products a high number of similar customers have bought, and recommend those products.

8. Test and evaluate the accuracy of your search results and recommendations produced by different algorithms by conducting user research and building models with historical data.