Idrisi is very capable of this, it is less expensive than Arc stuff. You can even use python.
If you are just using python, perhaps a basic distance assigned to each site can be added to the data frame and used for the proximity value in Tobler's law.
I think using the spatial application of Tobler's law, where likelihood of visiting a site based on proximity would be an n over distance squared equation, would be a good start. Then, one could add parameters to the Tobler's law equation to represent the different situations presented. I don't know if you have the math already figured out but a coefficient for proximity, effectiveness of recommendations (maybe start with one - a perfect recommendation always adhered to) and a certain crowding factor where if location has more than n people it is not likely to get more.