I'm a "clear optics" freak, and max duration for me is 1 year, I usually put a new one on every 6 mos., and that's with microfiber cleaning. A new one lasts about 2-3 weeks before it's noticeably scratched to me, and then I just live with the growing number of scratches until it bugs me too badly. (pun not intended...hehe)
Another factor may be how your helmet is stored... I use a fleece helmet bag, and try to clean the visor as soon as I get home, before storage.