Use letters to make numbers shorter
JavaScript, 84 79 bytes



i=&gt;{I=i;for(x=-1;i&gt;=999.5;x++)i/=1e3;return I&lt;1e4?I:+i.toPrecision(3)+'KMB'[x]}


Try it online!

(Takes inputs as numbers)

Special cases the first one where if i &lt; 1000, the number itself is always one of the shortest ways, if not the only shortest way.

Otherwise, it divides it by 1000 until dividing it would make it have no sigificant figures above 1, and chooses a suffix based on how many divisions were done.