This assumes that you are guaranteed a 10% - 20% raise with every jump, but my experience is that you operate within bands, and once you reach the top of your band, higher offers are rare. If you want to get higher offers you need to have been promoted to the next job level.
As an example, if you are a junior software engineer, you can only earn more as a senior software engineer, and again as a project manager, and again as a product / line manager.
And the only way you get promoted to the next band is by staying for a set amount of time at a company to get promoted. Outright offers from a lower job level to a higher one is rare without demonstrated ability to do the job.
So yes over the short term, jumping ship often is more lucrative, but you'll hit a glass ceiling and have difficulty breaking through to the next level.
As an example, if you are a junior software engineer, you can only earn more as a senior software engineer, and again as a project manager, and again as a product / line manager.
And the only way you get promoted to the next band is by staying for a set amount of time at a company to get promoted. Outright offers from a lower job level to a higher one is rare without demonstrated ability to do the job.
So yes over the short term, jumping ship often is more lucrative, but you'll hit a glass ceiling and have difficulty breaking through to the next level.