On an eCommerce website we want to create some personalization for visitors who are more likely to make a purchase.
Let's assume we only have one single item for sale.
The likelihood should be based on data that we have, for example:
- Price of the item when the customer visited (it may vary)
- Average customer reviews rating of the item
- If a discount coupon was offered or not
- If certain words were present in the item title or description
- etc.
Our plan is to create a DB that will contain each visitor's visit data (the above data), and indication if eventually he made a purchase or not.
Once we have at least a few purchases, we need to somehow look for a pattern among all these cases, and based on this pattern we can later forecast the likelihood.
For example, if at least in 50%
of the cases that the item was purchased, its price was no more than $100
, than we will make personalization only on cases where the item is being sold at a max price of $100
.
Does this make sense?
How should we do it technically? From both DB structure concerns, and website speed concern -
Should we collect each variable in its own DB column, or is it better to create some kind of long string in the browser session like p:99-r:4
, (which means: price $99
, rating: 4
) and then later break this data down using another script?
Is there some kind of library that can analyze this data and show it maybe in graph, like some fancy fronted, or does this project need to be made from scratch?
What kind of technical skills does the person who do it need to have? Is this related to machine-learning?