Optical retail operations
Lab Job Tracking: Your Lab Is Not Why the Customer Waits Six Days
Across 87 spectacle jobs, the average wait from order to collection was 8.6 days. The lab accounted for 43% of it. The other 57% was ours — two days before the job was even sent, and nearly three days of finished spectacles sitting on a shelf.
Ask any optical shop owner why a customer waited a week for their spectacles and you will get the same answer. The lab. It is always the lab.
I believed that too, until the ERP started putting a timestamp on every stage and I could finally subtract one from another. The lab was the smaller half of the problem.
Disclosure and limits. I build Optocore, an optical ERP, and these are its own timestamps. One optical business, roughly three months since the system went live, 87 spectacle jobs — 83 with a send-to-lab time, 80 with a return time, 76 collected. Enough to find where the time goes in one shop. Not enough to be a statistic about Indian optical retail. Your split will differ; the method will not.
The six days, broken into three
Median time from order taken to customer walking out with their spectacles: 6.3 days. Average: 8.6 days. Hold on to the fact that those two numbers are so far apart — it turns out to be the most useful thing in this article.
Split by stage, on the average, because averages are the only summary whose parts add up:
| Stage | Jobs | Average | Share of the wait |
|---|---|---|---|
| Counter → sent to lab | 83 | 2.0 days | 23% |
| At the lab | 80 | 3.7 days | 43% |
| Ready → collected | 76 | 2.9 days | 33% |
| Order → collected | 76 | 8.6 days | 100% |
The three stage averages come to 8.56 days against a measured total of 8.61 — they add up, which is a useful sign that nothing is being double-counted or lost between stages.
The lab is 43% of the wait. The remaining 57% never leaves the shop. Every rupee of negotiating pressure most owners put on their lab is aimed at the smaller share, and the two stages that are entirely within our control go unmeasured because no clock was ever started on them.
A note on medians and averages, because it matters here. Stage medians do not add to the total median — the middle job of one stage is a different job from the middle job of another. So the table above uses averages, which do add. Where I want the typical case instead, I say median and I say so. Anyone presenting you a single "turnaround time" without telling you which one they used is hiding the tail, and in this business the tail is the whole problem.
Stage one: the two days before the lab sees it
The median gap between taking an order at the counter and sending it to the lab was 19 hours. Respectable — effectively next morning's pickup.
The average was 2.0 days. One job in ten sat for more than 5 days. The worst sat for 21 days before anyone sent it anywhere.
Nothing happened to those jobs. Nobody decided to delay them. They were written down, put in a tray, and the tray did not get looked at, because the shop's memory of what was waiting lived in the person who took the order and that person had a day off, or got busy, or assumed somebody else had sent it.
This is the cheapest three days you will ever recover. It needs no negotiation with anybody, no new supplier, no discount given up. It needs a list of jobs not yet sent, looked at once a day.
Stage two: the lab, judged honestly
Median turnaround 3.3 days, average 3.7. For a single-vision job with a standard coating that is a reasonable number and I have no complaint about it.
| Median | Average | Slowest one in ten | Worst |
|---|---|---|---|
| 3.3 days | 3.7 days | 8.1 days | 13.1 days |
The tail is the problem. One job in ten took over eight days, and the worst took thirteen. Nobody ever complained to me about a three-day job. Every complaint I have had was one of the eight-day ones.
Which raises the question I could not answer: which lab? The lab was recorded against only 18 of 87 jobs, and the lab's own reference number on none. So I cannot tell you whether the thirteen-day job went to the lab I use for everything or the one I use for high-index work, and I cannot go into a negotiation with a number.
That is an uncomfortable thing to publish about my own data, and it is also the single most common gap I find in other shops' records. If you take one thing from this article: record which lab, every time, and record their job number. Everything else about lab performance is unknowable without it.
Stage three: finished spectacles on a shelf
This is the stage nobody counts, and it is a third of the wait.
Median from ready to collected: 4.7 hours. Most customers come the same day you tell them. Average: 2.9 days. Slowest one in ten: 8 days. Worst: 27 days.
| Collected after ready | Jobs | Share |
|---|---|---|
| Same day, under 24 hours | 44 | 57.9% |
| One to three days | 13 | 17.1% |
| Three to seven days | 8 | 10.5% |
| One to two weeks | 8 | 10.5% |
| Over two weeks | 3 | 3.9% |
Fifty-eight per cent is healthy. The bottom three rows are not: 19 jobs — one in four — took more than three days, and 11 took over a week.
And at the moment I pulled this, six jobs were sitting ready and uncollected, a median of 15 days, the oldest 48 days.
Every one of those is three separate costs at once. A tray is occupied. The balance payment is unpaid, so work you have already paid a lab for is still financing itself out of your pocket. And a customer is walking around with an opinion of your shop that has nothing at all to do with your lens quality, because from where they stand nothing has happened since they paid their advance.
The fix is not complicated and it is not about the shelf. It is that the customer does not know. A single message the moment the job is checked and ready closes most of this gap — which is the whole argument of the WhatsApp post, and why the 1 October 2026 pricing change on that channel is worth your attention.
You cannot be late if you never promised a date
Here is the finding that embarrassed me most. Of 87 jobs, a promised delivery date was recorded on five.
Not that we failed to meet the promise — that there was no promise on the record to meet. "Tuesday, Wednesday" was said across a counter and then existed nowhere. Which means no job in that shop could ever be late, because late is a comparison and there was nothing to compare against.
This is why so many optical shops feel like they are doing fine on turnaround while their customers feel otherwise. The shop measures nothing and therefore sees no problem. The customer measures against what they were told at the counter, and remembers it precisely.
A promised date costs nothing to record and changes the conversation entirely. It converts "it should be ready soon" into a list you can sort by how overdue each job is — which is the only list in this article that is worth looking at every single morning.
The five timestamps worth recording
Each one exists to answer a question you cannot otherwise answer. None of them is for a report; all of them are for a decision.
| Record | Question it answers |
|---|---|
| Order taken | Where does the clock start? Everything else is measured from here. |
| Promised date | Which jobs are overdue right now? The one list to check daily. |
| Sent to lab | What is still sitting here unsent? The cheapest days to recover. |
| Back from lab | Which lab is slow, and how often? Needs the lab's identity too. |
| Fitted and checked | Did it fail our own check? A refit is a second lab trip nobody counts. |
| Collected | What is finished, paid for by us, and still on the shelf? |
Plus two identifiers that are not times: which lab, and the lab's own job number. Without the first you cannot compare labs. Without the second, chasing a job means describing a customer down a phone line instead of quoting a reference.
What Optocore does about it — and what it does not
The stages are the workflow, not a report written afterwards. A lens order moves through taken, sent to lab, back, fitted, checked, collected, and each move stamps itself. Nobody fills in a tracking sheet, because the tracking sheet is a by-product of doing the work.
Two queues replace remembering. What is not yet sent to a lab, and what is ready and not yet collected. Those are the two stages that turned out to be 57% of the wait, and both become a short list rather than a feeling.
The promised date is part of taking the order, so overdue is something the system can tell you rather than something a customer tells you.
The lab and its reference number are fields on the job, which is what makes turnaround comparable between labs — and what turns your next rate conversation from an argument about impressions into one about numbers.
Ready fires a WhatsApp message, because the shelf problem is an information problem.
And what it does not do: it will not make your lab faster. Nothing on a screen grinds a lens. What it will do is tell you, with evidence, whether your lab is actually the problem — and in our case the honest answer was that it was less than half of it.
It also cannot reconstruct history. Stage timestamps begin the day you start using them; the three months above exist only because the system was recording from go-live. There is no report that recovers last year.
Counts and intervals from 87 uncancelled spectacle jobs in one Indian optical business's ERP, roughly three months from go-live, as at 13 September 2026. Stage figures use the subset with both endpoints recorded: 83 for counter-to-lab, 80 for lab turnaround, 76 for ready-to-collected and for the total. No customer information and no order values are published — these are counts and durations only.