This is four weeks that a recommender engine I’ve developed based on Apache Mahout, is under pressure by real users and testing scenarios. During the time I’ve collected a number of business requirements notified there are some business demands that the standard technique won’t bring any answer for.
Seems this is not enough to just recommend users while business owners still are looking for a sensible advantage more than increasing users satisfaction. For example the following parameters might be applied to support the user and the business both (I am not sure if these are just Iranian business requirements or worldwide demands).
- Expiration Date: A CEO believes the items are getting expired should be recommended more than those items don’t have the expiration date or won’t expire soon.
- Classic Items: Time passing changes some items popularity. For example a sport or a political news should be recommended in a short period of time while there are many classic items which are time independent such as scientific reports, historic stories or poems. This classic items at least would be popular for a longer period of time.
- Retired Items: Every product has a life cycle. The iPhone 5 has retired the iPhone 4 series softly. Business owners prefer to don’t keep the risky products. So they want the recommender offers them more.
- Events: Calendar events could change the people taste. Assume a ceremony (We have got a lot of holidays/ceremonies in Iran) shifts people taste and everything would be done right after midnight while the recommender doesn’t have the chance of recommeding people correctly, because it relies on past weeks ingestions. There is always a lag.
- Loyalty: Budget is an important factor to the users buy products. High degree of inflation pushes people to choose cheap low quality products. While many users prefer to choose cheap items, but recommending these items damages the recommender (business) credit and decreases the users loyalty.