How to use the position factor in known data as a feature in recommendation surfacing?

The problem is recommending stories on a website, just below each story based on how similar the stories are and some historic data based on what recommended stories were clicked or not clicked. So basically the available data looks like

Referrer Recommendation Timestamp Position Clicked

url1 url2 2020-07-01 05:11:17 3 0

url3 url4 2020-07-02 15:11:17 5 1

For example, a user was reading url1 at the given timestamp when after reading he saw 12 urls as recommendation. Among them, url2 appeared at the third place, and the user did not click it. (That row in itself does not tell us anything about whether the user clicked any of the other 11 stories that appeared as recommendation).

The second row says a user was similarly reading story url3 and after reading he clicked url4, which appeared at the 5th position.

The problem is, I have to develop a model based on this information which will receive

  1. A url which the user is reading now
  2. 200 other urls as potential recommendation candidates.

I have to assign some sort of score to rank them based on the propensity to click.

The URLs, timestamps have already been embedded into features. My core question is how do I use the position column in the historic learning data, which will not be a feature during deployment. Do I just ignore the column? Or is there some way to use the column to have a better model, even though the features will be the other columns? Also, any special performance metric to evaluate, other than the usual precision-recall metrics?

Any idea around this problem set up or any paper/reference will be greatly appreciated!

Topic ndcg feature-engineering ranking recommender-system

Category Data Science

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.