Let's say I am building a recommender system where items change through time. We suppose that each transaction is composed of :
- an item $i$ in list of items $(i_1, i_2, i_3, .., i_m)$.
- a user $u$ in list of users $(u_1, u_2, u_3, ..., u_n)$.
- a date $t$ in list of dates $(t_1, t_2, ... t_k)$.
We suppose that items have underlying features that change over time.For example, If we consider retail products, underlying features could be :
- The discount level that is applied on the item when the customer has purchased the transaction (5%, 10%, 20%, 30%, ...).
An other example, if we consider financial stocks, underlying features that change over time could be :
- The stock situation at time of the transaction (underpriced or overpriced).
- The stock's central bank politics at time of the transaction (low interest rates, medium interest rates, high interest rates).
We suppose that these underlying features have a strong impact on users. It completly drives their decisions to buy or not an object. If we consider two items $i_1$ and $i_2$, at time $t_1$, a given user $u_1$ could prefer $i_1$ over $i_2$ because $i_1$'s underlying features are more interesting than $i_2$'s. If we consider a different time, maybe $u_1$ could be more interested in $i_2$ than $i_1$.
My question is : how to take into account underlying features that change over time in recommender systems such as user-user collaborative filtering, SVD, ALS... ?.