They found, perhaps counterintuitively, that the opportunistic customers are vastly less price sensitive than the habitual customers. The solution was a somewhat involved loyalty program, which is deliberately enough effort to set up to weed out the sporadic customers from using it. Now, they can charge the less-price sensitive one price, and their more price sensitive customers a different, lower price. As an added bonus, habitual customers are probably more susceptible to advertising/prompting.
One of the ideas of classic coupons was to offer a lower price to the most price sensitive customers. The people willing to deal with the fuss of finding and cutting out the coupons.