Abstract: A computer-implemented method of optimising an electronic shopping list is disclosed. The method comprises receiving, at a user equipment, a user list of products; receiving, at a user equipment, a store list of available products, each available product characterised by at least one variable; compiling a revised list from the user list and the store list, comprising associating each product from the user list with one or more available products and arranging an order of the revised list depending upon the at least one variable; and presenting the revised list using the user equipment.