How a mini-market lives on a few sen a packet
A mini-market lives on a few sen a packet by selling that packet an absurd number of times, from shops it can restock cheaply. The chain whose accounts I can actually read, 99 Speed Mart, kept about 5.3 sen of every ringgit it took in FY2025.1 That's the whole trick, and it's a duller trick than the shelves suggest.
Eleven sen
Say a RM2 packet of something earns that average. The chain keeps about 11 sen, after the goods, the wages, the lorries and the taxman, and I'm hoping you weren't planning to retire on it.1
Some things will earn more than that and some less, and the annual report doesn't say which. Here's the whole shop instead.
Where RM100 at the till went, FY2025
The thing I'd point at over dinner is that wages alone take more than the profit does. A mini-market isn't really selling noodles at a margin. It's paying a very large number of people to keep noodles moving, with a small tip left at the end.
Then you multiply
The Star put the average basket at RM21.70 in the last quarter of FY2025.
At 5.3%, that's about RM1.15 a basket, by my sum.3 It isn't much, until you count baskets.
The report gives 532 million transactions for the year, which across the average number of outlets open comes to about 500 a shop, a day.1 That average is mine, the midpoint of the opening and closing outlet counts, so treat it as roughly right rather than exact.
It ended the year with 3,037 outlets and about RM607 million in profit after tax.1 That's around RM200,000 an outlet, which I'd take over a lot of fancier shops.
A small note on that profit. The Star's report from the quarterly results said RM614.2 million, and the annual report says RM607.3 million.3 I'm going with the annual report, which came later and is the audited one.
The number that moved under my feet
Here's the part that surprised me. If you look up this chain's gross margin, you'll find it quoted at very different levels, and for one year I can show you why.
The report for FY2024 gave a gross margin of 11.06%. The report after it gives 18.97% for that same year.1
One chain, one year, FY2024, in percent of sales
Nobody's shelves changed. The chain moved about RM814 million out of "other operating income", and says the majority of its supplier rebates and incentives now sit against the cost of goods.1 For scale, that's well above the RM465 million it made after tax that year, as restated.1
So when two people quote two gross margins for this chain, neither has to be wrong. I'm using the newer definition here, because it's the company's own and the one its report explains.
And I think that's the real lesson. A big slice of what keeps a mini-market going is money from suppliers, not the markup you see on the packet, and the report ties those rebates to things like hitting agreed purchase or sales volumes.1
Why it's so hard to copy
A rebate is earned with volume, and the volume needs machinery. The report lists 22 distribution centres and 660 delivery vehicles.1
New outlets are judged partly on being within about 100 kilometres of a distribution centre, with some 1,500 households around them.1
The range is modest too, at a bit over 3,000 products.1 I'd guess that a short list is what makes the rest possible, since a lorry that's carrying fewer kinds of thing is easier to fill.
Then there's the timing. Stock sits for about 50 days and suppliers get paid in about 45, so by my reading suppliers are carrying most of what's on the shelf.1
And it doesn't seem to think the streets are full: the report sets a longer-term target of 4,250 outlets.1
If I owned one sundry shop, I wouldn't try to beat any of that on price. Nobody would be sending me a rebate, and I wouldn't own a lorry. I'd stock what a short list leaves out, and stay open when it matters to the street.
Thin isn't the same as safe
It's also less comfortable than the totals look. As restated, profit after tax slipped from about 5.2% of sales in 2021 to about 3.7% in 2022, and on margins this thin that's a lot of lost sen.1
I couldn't find the chain's profit on any single product, or for one outlet, so all of my per-shop figures are averages. A shop in a busy taman and a shop at the edge of town are surely doing very different sums, and the report isn't going to tell me which is which.
where I looked
- 99 Speed Mart Retail Holdings, Integrated Annual Report 2025 99speedmart.com.my
- 99 Speed Mart Retail Holdings, Annual Report 2024 99speedmart.com.my
- The Star, 99 Speed Mart surpasses RM10bil revenue milestone in FY25, 2026 thestar.com.my