Rank aggregation is the process of combining multiple ranked lists into a single ranking. An example of a score-based rank aggregation method is shown below (picture from here):
As pointed out in Aggarwal, C.C. (2016). Advanced Topics in Recommender Systems (page 417), this is a relatively unexplored approach in the context of recommendation systems, where instead of a single algorithm, a certain set of algorithms is used that generate recommendations for a given user, and then the results of these algorithms are aggregated to create a new recommendation. Aggregation is not a trivial problem, as there is no single universal method for combining such rankings.
I have created a simple figure to demonstrate this process:
Blog Posts:
- Vlad Niculae - Kemeny Young Optimal Rank Aggregation in Python
- Daniel Alabi - Kemeny Rank Aggregation
Publications:
- Rank aggregation methods for the Web
- RankAggreg, an R package for weighted rank aggregation
- Is Rank Aggregation Effective in Recommender Systems? An Experimental Analysis
There is some excellent software written in Python and R which can help you.
- Ranx - A Blazing-Fast Python Library for Ranking Evaluation, Comparison, and Fusion.
- Ranky - Another good library for ranking problem written in Python.
- RecRankAgg - Easy to use rank aggregation software for recommendation systems.
- MC4 - An implementation of Markov Chain Type 4 Rank Aggregation algorithm in Python.
- Kemeny_ranking - (Exact) Kemeny rank-aggregation using Integer-Programming with Python.
- Pyrankagg - Pure python code for rank aggregation/voting.
- RankAggreg - R package for weighted rank aggregation.