Glossy reported on 10 September 2026 that Milani Cosmetics has doubled annual sales to $250m in five years under chief executive Mary van Praag, and is targeting $500m within three. Source: https://www.glossy.co/beauty/mary-van-praag-doubled-milani-cosmetics-annual-sales-to-250-million-in-five-years-now-shes-ready-to-double-them-again/.
The supporting figures are unusually specific for this kind of profile. Twenty consecutive quarters of category-beating growth. More than 10% sales growth in 2025. A move from tenth to seventh place in mass colour cosmetics. Key SKUs at $12.99, $13.99 and $14.99. A core customer described as a persona aged 37. The brand is 25 years old.
Twenty consecutive quarters is five years without a bad one. In mass colour cosmetics, during a period that included a dupe economy, a TikTok Shop land grab and a private label surge, that is the number that should hold your attention rather than the $250m.
What the three price points are doing
Three price points within two dollars of each other is not an accident and it is not a limitation. It is a decision about what the brand is on the shelf.
A shopper standing in a mass beauty aisle is making a fast comparison across a wall of options. A brand occupying a tight price band is legible in that environment: it has a clear position relative to what sits above and below it, and the shopper does not have to work out what kind of brand it is before deciding whether to look.
A brand spread across eight price points from $6 to $34 is making the shopper do that work, and in a twenty-second decision the work does not get done. It also makes the brand harder for the retailer to merchandise, because it does not sit cleanly anywhere in the ladder.
The discipline is holding this over years, because every single quarter generates a reason to break it. A premium launch that would carry more margin. An opening price point to compete with private label. A limited edition at a higher price because the packaging costs more. Each is individually reasonable. Collectively they dissolve the position.
Why the persona is specific enough to exclude people
The reported customer definition is a persona with a name and an age of 37.
That level of specificity does something most brand positioning does not: it rules things out. A brand that says its customer is "anyone who loves beauty" has given its team no basis on which to reject anything. A brand that has a defined customer can look at a proposed product, a campaign, a creator partnership or a price and ask whether it is for her.
That is the practical function of a persona. It is not a marketing document. It is a decision filter, and its value is entirely in what it prevents.
Most founders at £500k to £5m have a persona in a deck somewhere that is too broad to reject anything. The test is simple: can you name a plausible beauty customer who is explicitly not your customer. If not, you have a description rather than a decision.
The pattern this is the opposite of
What usually happens as a brand grows is range fragmentation, and it happens for good reasons which is why it is hard to resist.
Customers ask for a product you do not make, so you make it. A retailer wants an exclusive at a different price, so you create one. Growth slows in the core, so you extend into an adjacent category. A competitor launches at a lower price, so you add an entry product. None of these is a mistake in isolation.
The cumulative effect is a range that covers more price points, serves more customers, and stands for less. Rate of sale per SKU falls because attention is split. Compliance and inventory costs rise because there are more things to maintain. And the brand becomes harder to describe, which makes every future retail conversation harder than the last one.
The alternative, which Milani appears to have run for five years, is to grow by taking more share of a defined position rather than by occupying more positions. That is slower-feeling and it compounds, which is what twenty consecutive quarters actually represents.
What to do with this at a smaller scale
The useful version of this at £500k to £5m is not to copy the price points. It is to check whether you have a position at all.
Three things to pull. Your SKUs sorted by price, which will usually reveal more distinct price points than you thought. Your rate of sale per SKU, which will usually reveal that a small number of products carry the range. And your first-order data by product, which tells you what strangers actually buy when they meet you.
Then ask what you would remove. Not what you would discontinue tomorrow, but which products exist because someone asked rather than because they belong to the position. In most ranges that is between a quarter and a third of the SKUs, and they generally consume more attention than they return.
The honest limitation
Milani is a 25-year-old mass brand with scale, retail relationships and a cost base that a small brand does not have. Twenty consecutive quarters of share gain is partly a function of being big enough to defend a position in the first place.
What transfers is not the outcome. It is the mechanism, which is that the brand decided what it was for, expressed that decision in a narrow price architecture and a specific customer, and then declined the reasonable-sounding opportunities that would have blurred it.
That decision is available at any size, and it is considerably cheaper to make at £1m than at $250m.