Idrisi is very capable of this, it is less expensive than Arc stuff. You can even use python.
ifIf you are just using python..., perhaps a basic distance assigned to each site can be added to the dataframedata frame and used for the proximity value in moorsTobler's law.
I think using the spatial application of Moore'sTobler'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 moorsTobler's law equation to represent the different situations presented. I dontdon't know if you have the math already figured out but a coefficient for proximity, effectiveness of recommendations (maybe start with one - a perfect recomendationrecommendation always adhered to) and a certain crowwdingcrowding factor where if location has more than n people it is not likely to get more....
just a few thoughts i guess... good luck!