Contrary to popular belief it is not a fixed "percent" change. Companies have fixed bands defined for a specific role. These are revised sort-of yearly to account for inflation and market conditions.
For example, they might pay a junior engineer (SE1) about 15-20 base; an SE2 24-30 base, etc. Depending on your skill level when you were hired as a SE1, you would get an offer, in this case, say 18.
Now if in the appraisal cycle you are promoted, you would enter the low end of next band (24). Sometimes the bands overlap, so if a company pays 15-25 to a SE1, and you're already at the top end at 25, you might get a very small increment if at all on promotion.
If you are not promoted, expect an appraisal based on your performance. This is determined by you manager (and in some cases HR). So if your company pays a maximum of 20 base at your level, do not expect anymore than that. So within a role, if you "top-out", you might keep on getting very small increments till you are promoted.
For big tech companies, and a lot of startups, you can get an understanding of what pay is there for a band from sites like levels.fyi; You can also try asking your manager, although they will most likely not tell :p