Алгоритм можно разбить на следующие шаги:
* Выберем условную меру # Выбор условной меры схожести пользователей по истории их оценок <tex> sim(u, v) </tex>;* Объединим # Объединение пользователей в группы (кластеры) так, чтобы похожие пользователи оказывались в одном кластере <tex> u \mapsto F(u) </tex>;* Оценку # Предсказание оценки пользователя предскажем как среднюю оценку : средняя оценка кластера этому объекту <tex> \hat{r}_{ui} = \dfrac{1}{|F(u)|}\sum_{u \in F(u)}{}{r_{ui}} </tex>.
Проблемы алгоритма: