A lot of it has to do with how you answer the questions...if you only answer "yes" or "no" when it should be "maybe" or "sometimes," it could have a harder time narrowing down its choices. Or if you're more vague when it thinks there's a black-and-white "yes" or "no" answer then it will also take longer.
And, of course, if you lie, it's not likely to get it.
Overall, a very cool program.