I generally discourage people from purchasing airline miles, as normally the rate is pretty bad.
I just received an email from British Airway offering to purchase Avios at a 20% discount. This seems to be a targeted offer.
Even with the discount, the price is appalling: 1000 Avios for 25£, all the way to a maximum 35000 Avios for 460£, making it at best 1.31p per Avios. Given the generally accepted valuation of 1p per Avios this is still not a good deal.
Also I would not recommend buying small amounts to top up, because the price you pay is hiked by too much. It would be much better to convert some American Express Membership Rewards, if you have some left over. If you don’t, you can always apply for Gold charge card and receive 22000 bonus points if you spend 2000£ in the first 90 days, using this link. The points convert 1:1 to Avios, and the first year of card membership is free. You can cancel before renewal is due.