Slope One is a family of algorithms used for collaborative filtering, introduced in a 2005 paper by Daniel Lemire and Anna Maclachlan.
[1] Arguably, it is the simplest form of non-trivial item-based collaborative filtering based on ratings.
Their simplicity makes it especially easy to implement them efficiently while their accuracy is often on par with more complicated and computationally expensive algorithms.
[3][4][5][6][7][8][9] They are part of major open-source libraries such as Apache Mahout and Easyrec.
Example: Can we predict the rating an individual would give to the new Celine Dion album given that he gave the Beatles 5 out of 5?
: experiments show that this simpler predictor (called Slope One) sometimes outperforms[1] linear regression while having half the number of regressors.
Other alternatives include user-based collaborative filtering where relationships between users are of interest, instead.
However, item-based collaborative filtering is especially scalable with respect to the number of users.
We are not always given ratings: when the users provide only binary data (the item was purchased or not), then Slope One and other rating-based algorithm do not apply[citation needed].
Examples of binary item-based collaborative filtering include Amazon's item-to-item patented algorithm[12] which computes the cosine between binary vectors representing the purchases in a user-item matrix.
Being arguably simpler than even Slope One, the Item-to-Item algorithm offers an interesting point of reference.
The model uses a single parameter per pair of item (the cosine) to make the recommendation.
It was shown to be much more accurate than linear regression in some instances,[1] and it takes half the storage or less.
If a user rated several items, the predictions are simply combined using a weighted average where a good choice for the weight is the number of users having rated both items.
Computing the average rating differences for each pair of items requires up to n(n-1)/2 units of storage, and up to m n2 time steps.