Question: In Season 5, the Doctor states his age as nine hundred and six years old. In a voice-over for Season 8, he states that he's lived for over two thousand years. Granted, he's a Time Lord, but how could he make such a grievous error in his own age?
Answer: He can't actually remember his precise age. He's almost certainly over a millennium older than he claims, but even he doesn't remember the real number.
Chosen answer: He has not made an error, he probably is 2000 years old. He may have been 906 in season 5, but remember, at the end of season 6, he is 200 years older, 1107 years old and in season 7 episode 3, the Doctor stated he was 1200 years old. Plus, he also in "The Time of the Doctor", he lived at that village for several hundred years. It may have been only 4 years for the audience, but it has in fact been over a millennia for The Doctor.
Casual Person
Sometimes when the doctor says things about himself people say that he is known for lying.
Dan23