I usually upgrade by chance. When a good deal comes along on something that is a nice upgrade, I jump on it.
I went from a 6 month old base model 13" 2011 MBA to a 13" late 2012 MBA i7, 8bg RAM, 256gb SSD with AppleCare - a month or so ago. I sold my 2011 model for $140 more than I got the 2012 model for. It was a dream deal that I couldn't pass up. I try not to go more than 2-3 years. but now that I've been PC free for a couple years, I may be able stretch it further than I have in the past with windows machines.