Make bb's cost 0. Shops need to buy what players buy from them. So if players buy lots of buffout, the shop should also buy buffout from players. If nobody buys radios, shop simply shouldn't buy them. It could always keep one item in its inventory, depending on the shop's type and if players start to buy it, the shop could start to buy more.
For example a doctor sells these:
psycho
buffout
mentats
superstims
stims
After each restock the shop checks what has been bought and what hasn't.
If all superstims, psycho and buffout was gone the shop would add +demand for those items meaning that he will buy them from players until next restock comes. If they are still being bought, the +demand would stack. Because mentats and normal stims weren't bought, they will get -demand until someone buys them away. If nobody buys them in say - 3 restocks the shop won't buy them from players.