Method for providing a location aware user model preserving the user's privacy, the method comprising: a) collecting, by a sensor capture module, sensor data from a plurality of sensors installed on a mobile computing device of a user; b) processing, by a computer, said collected sensor data in an anonymous way by grouping the collected sensor data into different heatspots, said heatspots including different areas of different significance for said user, and each of the heatspots comprising a given radius; c) labeling, by the computer, each of the heatspots with a unique identifier corresponding to a predetermined area; and d) generating, by the computer, a location aware user model based on said identifiers, so that said generated location aware user model is suitable for providing recommendations to the user via the mobile computing device, perform studies and/or provide an input to other user models, wherein the method further comprises: performing steps a)-d) for a plurality of different users active in the same heatspots, such that a location aware user model is generated for each one of the plurality of different users; computing, by the computer, a seed and using said computed seed for automatically creating and encrypting a random salt key; determining, by the computer, a hashing technique to be used to obfuscate the different heatspots, and transmitting to the mobile computing device of each user of said plurality of different users the encrypted random salt key and the determined hashing technique; and applying, by each mobile computing device, the hashing technique with the salt key to every heatspot and transmitting a hash to the computer, and wherein the collected sensor data includes one or more of the following: accelerometer data; activity data; data about installed applications in the computing device; data about a battery level of the computing device; data about Bluetooth beacons in the heatspot; call logs; data about de computing device including model and/or brand name; data indicating whether a headset is plugged in or not; Internet logs and/or surf history; current lux level; location data; whether music is playing or not; ambient noise level; pedometer data; network data about the computing device including roaming, operator, cell tower, data TX/RX, mobile/WiFi, airplane mode and/or country; data about places or type of establishments nearby the heatspot; data indicating whether a screen of the computing device is on/off; SMS logs; data indicating activity transitions of the user; and/or data indicating walking dynamics of the user. a) collecting, by a sensor capture module, sensor data from a plurality of sensors installed on a mobile computing device of a user; b) processing, by a computer, said collected sensor data in an anonymous way by grouping the collected sensor data into different heatspots, said heatspots including different areas of different significance for said user, and each of the heatspots comprising a given radius; c) labeling, by the computer, each of the heatspots with a unique identifier corresponding to a predetermined area; and d) generating, by the computer, a location aware user model based on said identifiers, so that said generated location aware user model is suitable for providing recommendations to the user via the mobile computing device, perform studies and/or provide an input to other user models, performing steps a)-d) for a plurality of different users active in the same heatspots, such that a location aware user model is generated for each one of the plurality of different users; computing, by the computer, a seed and using said computed seed for automatically creating and encrypting a random salt key; determining, by the computer, a hashing technique to be used to obfuscate the different heatspots, and transmitting to the mobile computing device of each user of said plurality of different users the encrypted random salt key and the determined hashing technique; and applying, by each mobile computing device, the hashing technique with the salt key to every heatspot and transmitting a hash to the computer, and