Targeted promotions in retail are becoming increasingly popular, particularly in UK grocery retail sector, where competition is stiff and consumers remain price sensitive. Given this, a targeted promotion algorithm is proposed to enhance the effectiveness of promotions by retailers. The algorithm leverages a mathematical model for optimising items to target and fuzzy c-means clustering for finding the best customers to target. Tests using simulations with real life consumer scanner panel data from the UK grocery retailer sector show that the algorithm performs well in finding the best items and customers to target whilst eliminating “false positives” (targeting customers who do not buy a product) and reducing “false negatives” (not targeting customers who could buy a product). The algorithm also shows better performance when compared to a similar published framework, particularly in handling “false positives” and “false negatives”. The paper concludes by discussing managerial and research implications, and highlights applications of the model to other fields.