The short answer
There is no standard profit margin for an optical shop. Margins depend on what you sell (frames, lenses, contact lenses, sunglasses, eye tests), where you buy it, whether a lab fits your lenses, and how much you discount. What you can do is calculate your own margins correctly, by product, and check every month whether they cover your costs.
For a sense of scale, two listed US optical retailers publish their figures:
- National Vision (America's Best and Eyeglass World) reported for fiscal 2025 net revenue of $1,987.5 million and product costs of $461.2 million against net product sales of $1,604.6 million. That is product costs of about 28.7% of product sales, or a product gross margin of about 71% (our calculation from its published figures).
- Warby Parker reported a 2025 gross margin of 54.0%, down from 55.3% in 2024.
Both companies named contact lenses as a reason their margin was lower than it would otherwise have been. These are large chains with their own buying power and labs, so treat their numbers as context, not as targets for a single shop. The useful part for a small shop is the method: separate your products, work each margin out on the price without tax, and follow the profit all the way down to what is left after expenses.
Mark-up and margin are not the same number
Most pricing mistakes in a shop start here. Both describe the same profit, but against a different base.
- Mark-up = (selling price − cost) ÷ cost
- Margin (gross margin) = (selling price − cost) ÷ selling price
A frame bought for 2,000 and sold for 4,000 has a mark-up of 100% and a margin of 50%. Both are correct. The trouble starts when someone says "we work on 100%" and someone else hears "half of every sale is profit before expenses" when they meant the other.
To convert between them:
- Margin = mark-up ÷ (1 + mark-up)
- Mark-up = margin ÷ (1 − margin)
- Selling price for a target margin = cost ÷ (1 − target margin)
| Mark-up on cost | Margin on selling price | Cost 1,000 sells at |
|---|---|---|
| 50% | 33.3% | 1,500 |
| 100% | 50.0% | 2,000 |
| 150% | 60.0% | 2,500 |
| 200% | 66.7% | 3,000 |
| 250% | 71.4% | 3,500 |
| 300% | 75.0% | 4,000 |
Use mark-up when you set a price from a supplier's cost. Use margin when you judge how much of your sales are left to pay rent and salaries, because rent and salaries are paid out of sales, not out of cost.
Margin by product: frames, lenses, contact lenses, sunglasses, services
Each product group in an optical shop has a different cost structure, so one average margin hides more than it shows. Work out each group separately with the same formula: (sales − cost of those sales) ÷ sales.
| Group | What its cost is made of | What moves the margin |
|---|---|---|
| Frames | Purchase price from the supplier, plus freight. | Your buying price and discounts. Frames that sit unsold for months are a margin you never collect. |
| Stock lenses | Purchase price of the finished lens. | Breakage when fitting, and lenses ordered in powers that do not sell. |
| Lab lenses | The lab's bill for that job: lenses, coatings and fitting. | Whether the lab bill is counted against the sale. A remake that the lab charges for comes off your margin. |
| Contact lenses | Purchase price per box. | Customers can compare box prices easily, which keeps prices close to cost. Both US retailers above reported contact lenses pulling their margin down. |
| Sunglasses | Purchase price. | Seasonal demand; unsold stock at the end of a season. |
| Services: eye tests, fitting, repairs | Mostly staff time, which sits in salaries rather than in cost of goods; repair parts. | Keep service income on its own line so it does not make product margins look better than they are. |
The most common gap is the lab bill. A customer pays for a pair of glasses today, the lab's invoice arrives later, and the sale is recorded with no cost against it. That makes the month look more profitable than it was and the next month look worse. Count each lab bill against the month of the sale it belongs to.
Work margins on prices without VAT or GST
VAT or GST that you collect belongs to the tax authority, not to you, so a margin worked out on a price that includes tax is too high.
Price without tax = price with tax ÷ (1 + tax rate)
Example: in Saudi Arabia, where ZATCA's standard VAT rate is 15%, a frame sold for SAR 230 including VAT is SAR 200 without it. If the frame cost SAR 80 before VAT, the margin is (200 − 80) ÷ 200 = 60%. Worked on the SAR 230 shelf price, the same sale would look like 65%.
Rates differ by product and change: in India, the GST on spectacles and lenses was cut from 12% to 5% in September 2025, as reported by All India Radio. Whether you can reclaim the tax on your purchases depends on your registration. Ask your accountant which rate applies to each product; this page does not give tax advice.
What a discount does to your margin
A discount comes straight out of gross profit, so it takes a much bigger share of profit than of price.
Example: a pair with a list price of 10,000 and a cost of 4,000 has a margin of 60% and a gross profit of 6,000.
| Discount | Price | Gross profit | Margin | Extra sales needed for the same gross profit |
|---|---|---|---|---|
| None | 10,000 | 6,000 | 60.0% | None |
| 10% | 9,000 | 5,000 | 55.6% | 20% more |
| 20% | 8,000 | 4,000 | 50.0% | 50% more |
| 30% | 7,000 | 3,000 | 42.9% | 100% more |
The general rule, with the margin (m) and the discount (d) both as fractions of the list price:
- New margin = (m − d) ÷ (1 − d)
- Extra sales needed to keep the same gross profit = d ÷ (m − d)
A 30% discount on a 60% margin item has to double the number of sales just to stand still. That does not mean never discount; it means decide the discount limit in advance, and check each month how much was given away.
From gross profit to net profit: a monthly profit and loss
Gross profit is what is left after the cost of the goods sold. Net profit is what is left after everything else as well: rent, salaries, electricity, marketing. A shop can have healthy margins on every frame and still lose money if its expenses are too high for its sales.
The table below is an example to show the arithmetic, not market data. The amounts are round numbers in no particular currency, for one month, all without tax.
| Line | Sales | Cost of goods | Gross profit | Margin |
|---|---|---|---|---|
| Frames | 220,000 | 88,000 | 132,000 | 60.0% |
| Lenses (stock and lab bills) | 240,000 | 108,000 | 132,000 | 55.0% |
| Contact lenses | 60,000 | 39,000 | 21,000 | 35.0% |
| Sunglasses and accessories | 50,000 | 22,500 | 27,500 | 55.0% |
| Services (tests, repairs) | 30,000 | 3,000 | 27,000 | 90.0% |
| Total | 600,000 | 260,500 | 339,500 | 56.6% |
| Operating expenses for the month | Amount |
|---|---|
| Rent | 80,000 |
| Salaries | 120,000 |
| Electricity, internet, phone | 20,000 |
| Marketing | 15,000 |
| Card and bank charges | 6,000 |
| Software | 6,000 |
| Maintenance | 5,000 |
| Other | 8,000 |
| Total operating expenses | 260,000 |
| Net operating profit (339,500 − 260,000) | 79,500, or 13.3% of sales |
Two things to notice. Contact lenses add sales but little profit, so a month with more contact lens sales can show higher sales and a lower margin. And the 13.3% is before the owner's own pay (if it is not in salaries), loan repayments and income tax, so it is not the same as money in the owner's pocket.
You can turn this around to find the margin you need:
Required gross margin = (operating expenses + the profit you want) ÷ expected sales
With the example's expenses of 260,000, a target profit of 100,000 and expected sales of 600,000, the shop needs a gross margin of 360,000 ÷ 600,000 = 60%. If its products only give 56.6%, it needs higher prices, lower costs, fewer discounts or more sales.
Break-even: how much you must sell each month
The break-even point is the level of sales at which gross profit exactly pays the fixed costs. The US Small Business Administration gives the formula per unit: fixed costs ÷ (price − variable cost per unit). A shop selling many different items at different prices is easier to handle in sales value:
Break-even sales = monthly fixed costs ÷ gross margin
Break-even orders = break-even sales ÷ average order value
With the example above: 260,000 ÷ 0.566 = about 459,000 of sales a month. If the average order is 5,000 (600,000 of sales from 120 orders), that is about 92 orders a month, or between 3 and 4 a day over 26 working days. Every order after that adds its gross profit to net profit; every month below it is paid for out of savings.
Recalculate break-even when rent or salaries change, and when your margin changes. A shop that starts giving larger discounts raises its own break-even point without spending any more.
Average order value and gross profit per order
Average order value = sales ÷ number of orders
The margin percentage alone can mislead. Compare two versions of the same order, using example figures:
| Order | Frame (cost / price) | Lenses (cost / price) | Sale | Gross profit | Margin |
|---|---|---|---|---|---|
| A: basic lenses | 1,500 / 3,500 | 800 / 2,000 | 5,500 | 3,200 | 58.2% |
| B: upgraded lenses | 1,500 / 3,500 | 2,000 / 5,000 | 8,500 | 5,000 | 58.8% |
The margins are almost the same, but order B leaves 1,800 more to pay the rent. Track gross profit per order as well as the percentage. A lens upgrade is worth offering only when it suits the customer's prescription and how they use their glasses; the examiner and the dispensing optician decide that, not the price list.
Stock: turnover, dead stock and return on stock
Profit on paper is not the same as profit in the bank when a large part of it is sitting in drawers. Three measures show how hard your stock is working.
Stock turnover
The Business Development Bank of Canada (BDC) defines inventory turnover as how many times a year a business converts its inventory into sales:
Turnover = cost of goods sold for the year ÷ average stock at cost
Average stock = (opening stock + closing stock) ÷ 2
Days to sell = 365 ÷ turnover
Example figures: frames sold in the year cost 1,056,000; frame stock at cost was 600,000 at the start of the year and 640,000 at the end, an average of 620,000. Turnover is 1,056,000 ÷ 620,000 = 1.7, so the average frame waits about 214 days to be sold. Work it out per group: frames, lenses and contact lenses turn at very different speeds.
Return on stock (GMROI)
GMROI (gross margin return on inventory) = gross profit for the year ÷ average stock at cost
In the example, frames earned 132,000 gross profit a month, 1,584,000 a year, on an average stock of 620,000: a GMROI of about 2.6. Each unit of money tied up in frames brought back about 2.6 in gross profit over the year. Comparing GMROI between brands or price bands shows where your stock money works best.
Dead stock
Stock that has not sold for a set period, such as 90 days, still counts in "stock value" but earns nothing. Look at its cost value each month, not just the number of pieces, and decide what to do with each item: move it, pair it with a lens offer, mark it down to a price that still covers its cost, return it, or stop reordering. The inventory guide covers these steps.
Profit and cash are not the same
An optical shop can be profitable and short of cash at the same time, because of how money moves:
- Customer balances. A customer pays an advance on the order and the rest at collection. Until then, part of the sale is money owed to you.
- Lab and supplier bills. Some are paid on order, some on credit. What you owe is a cost already earned against your profit.
- Stock bought ahead of sales. A large frame purchase uses cash this month for profit you will earn over many months.
A rough monthly check: cash goes up by roughly the net profit, minus any increase in what customers owe you, minus any increase in stock, plus any increase in what you owe suppliers. If profit is good but cash keeps falling, one of those three is growing. Collect balances when the glasses are handed over, and keep each lab's balance in a ledger so you know what is due before it is due.
A monthly profitability checklist
- Sales for the month, without tax, by product group.
- Cost of goods by group, including every lab bill for the month's jobs.
- Gross margin by group, and in total.
- Discounts given: the total, and as a share of sales.
- Operating expenses, and net profit.
- Break-even sales for the month against actual sales.
- Average order value and gross profit per order.
- Stock at cost, and the cost value of items not sold in 90 days.
- Money customers still owe you, and money you owe labs and suppliers.
Nine numbers, once a month, written in the same place, are enough to see a problem in its first month rather than its sixth.
Where these numbers are in Asaan Optics
If you use the Asaan Optics desktop software, most of the checklist is already recorded from the sales, stock and vendor screens.
| Number | In the desktop software |
|---|---|
| Revenue, money still owed, expenses for the month | Dashboard, business overview cards |
| Expenses and discounts | Sales & POS: Add Expense, and the discount on each bill |
| Sales, cost of goods, gross profit and margin per item and per category | Product Performance Analytics, for any date range |
| Realised sales, cost of goods sold, and unsold stock at cost and at retail per category | Stock Financial Report |
| Stock value at cost and retail, potential profit, items not sold in 90 days | Stock Control Center |
| What you owe each lab and supplier | Vendors & Suppliers ledger; an order sent to a lab adds a bill to that lab's ledger |
| Discounts above a staff member's limit | Staff Audit |
Read the reports with three points in mind, so the numbers mean what you think they mean:
- The margin percentages in these reports are profit divided by sales value, which is margin as defined above, not mark-up.
- Cost of goods is the purchase cost recorded for items sold from stock. An order whose lenses were made by a lab, or an item typed by hand, has no stock cost, so add the lab bills from the vendor ledger to get the full cost of goods. Product Performance Analytics shows what share of sales has a recorded cost.
- In the Stock Financial Report, revenue is all money received in the period, including advances and balance payments, and expenses are not deducted. Its profit is gross profit; subtract the month's expenses from the dashboard to reach net profit.
The stock reports are described on the optical inventory software page, and the counter, discounts and expenses on the optical POS software page.
Sources
- National Vision Holdings, fourth quarter and fiscal 2025 results (SEC filing, 2026): net revenue, product costs, net product sales, contact lens product margin. The 28.7% and 71% figures are our calculation from its income statement. Read 22 October 2026.
- Warby Parker, fourth quarter and full year 2025 results, 26 February 2026: gross margin 54.0% (55.3% in 2024) and the reasons given, including contact lens sales growth. Read 22 October 2026.
- BDC (Business Development Bank of Canada), Inventory turnover ratio: definition and formula. Read 22 October 2026.
- U.S. Small Business Administration, Break-even point calculator: break-even formula and fixed costs. Read 22 October 2026.
- ZATCA, Guideline for Tax Invoicing and Records under VAT Provisions: the 15% standard VAT rate. Read 22 October 2026.
- All India Radio News, GST on spectacles and lenses reduced to 5%, 14 September 2025.
Questions
- What is a good profit margin for an optical shop?
- The one that covers your operating expenses and leaves the profit you need. Work it out as (operating expenses + target profit) divided by expected sales. As context only, National Vision's product costs were about 28.7% of its product sales in fiscal 2025, and Warby Parker reported a 54.0% gross margin for 2025, but both are large chains with their own buying power and labs.
- Is a 100% mark-up the same as a 50% margin?
- Yes. Mark-up is profit divided by cost and margin is profit divided by selling price. A frame bought for 2,000 and sold for 4,000 has a mark-up of 100% and a margin of 50%. Margin is always lower than mark-up for the same sale.
- How do I include lab charges in cost of goods?
- Count each lab bill against the month of the sale it belongs to, not the month the invoice arrives. Otherwise one month looks more profitable than it was and the next looks worse. Keeping each lab's bills in a ledger linked to the order makes this easy to check.
- Should eye test fees be counted in the shop's margin?
- Record them as sales on their own line. Their cost is mostly the examiner's salary, which is an operating expense rather than cost of goods, so mixing them with product sales makes product margins look higher than they are.
More from the blog
- Best optical shop software in Pakistan: what to compare
- How to Install & Use Asaan Optics Desktop App
- Offline-first optical shop software and billing app: what to check and how it works
- Optical shop billing app and management software: how a bill is made in Asaan Optics
Reference guides and free calculators: Resources and optical tools.