Maybe you should start paying people what they are worth? Those annual job hoppers do so because a year later someone is offering a 20% raise and you offered a 3% bump and an "atta boy". Companies are trying to control wage inflation by refusing to pay market rate to their current employees.
For the record the average tenure in the Bay for a software engineer is 2 years. So your "at least" is the average.
For the record the average tenure in the Bay for a software engineer is 2 years. So your "at least" is the average.