I currently have an S7 Edge. I plan to get the S8+ ASAP, at least if there is a US unlocked version. I would keep it until the S9 is released, or until another flagship catches my eye.
Around 2 years. I usually upgrade every other new model. Was tempted to try the Note 7 as an early upgrade for my S6 edge, but that idea went up in flames.
I'm thinking of buying the S8 to hold me off until the Note 8 comes out. Hopefully that one will hold me off for a couple of years. That's what the Note 7 was supposed to do.