A survey of recommendation techniques based on offline data processing. (9th September 2014)