I guess it's mainly due to patents and such. I'm also pretty sure even the developers don't understand exactly how the algorithms work. sure they modeled some factors into it, probably too many for one person to fully understand on their own...
but once you start crunching immense amount of data it's unavoidable to get unexpected results. and must be impractical to fully monitor.