All posts
Case study·Perak·AI Agency·8 min read

Case study: how a 200-person Perak food manufacturer cut unscheduled stops by 62% with a thin AI maintenance schedule

A Taiping-based food processor was losing 3-4 production days a month to unscheduled stops. We didn't sell them predictive maintenance — we built them a smarter schedule. Here's what it cost and what it did in 4 months.

·By The pitchdeck.my team
Case study: how a 200-person Perak food manufacturer cut unscheduled stops by 62% with a thin AI maintenance schedule

The business

A 200-person food-processing SME in the Taiping Industrial Area, Perak. Two production lines — one for a branded snack range sold across Malaysia and Singapore, one for a private-label OEM run for a regional distributor. The plant runs 24 hours a day, 5 days a week, with a small maintenance team of seven — a maintenance lead, two senior technicians, and four fitters who know every machine by name.

This is the case study for the AI agency side of what we do — a small, opinionated build for a Perak manufacturer that did not need predictive maintenance, did not need a digital twin, and definitely did not need a six-figure PoC. It needed a smarter schedule.

The problem they were actually trying to solve

Three unscheduled stops a month, every month. Each one cost the plant between RM 18,000 and RM 35,000 in lost output, depending on which line went down and for how long. The pattern was always the same: a bearing, a motor, a conveyor belt idler, or a packaging-line sensor failed mid-shift, the line stopped, the maintenance team spent 2 to 6 hours finding the failure, and the line ran at half-speed for the rest of the day to recover.

The plant manager — a 22-year industry veteran who joined the business as a fitter in 2003 — had tried three things in the previous 18 months:

  • A predictive-maintenance pitch from a KL-based vendor. The demo looked great. The quote was RM 280,000 for the first phase. The plant manager sent them home.
  • A CMMS (computerised maintenance management system) the previous owner had bought in 2019. Nobody used it. The password was on a sticky note on the lead fitter's monitor.
  • A WhatsApp group where the maintenance team would ping each other when a line went down. It worked as a comms channel, but it didn't prevent the stops.

What the plant manager actually said on the first call: "I don't need to know when the next failure is going to happen. I need to not be surprised by it." That sentence is the whole brief.

What we built — and why this approach

A thin AI maintenance schedule with three parts, sitting on top of the equipment the plant already had:

  1. A small data box on each critical machine. Twelve machines on Line A and Line B, with a mix of PLCs and older relay-based controls. A small industrial gateway reads current draw on each motor, vibration on the rotating parts, and cycle count. The data lands in a Postgres database on a small on-prem server the plant already owned.
  2. A baseline-and-drift model running locally. The model learns each machine's normal pattern over a 4-week baseline. After that, it flags machines that are drifting from baseline — the early signal of a bearing, motor, or sensor issue. The model is small enough that the maintenance team can interrogate it: "why did you flag Line 2 conveyor at 3am?" and get a real answer.
  3. A Monday-morning list on the maintenance lead's phone. That's the deliverable. Not a 60-inch dashboard. A list. "These three machines are drifting. Bearing SKU for Line 2 conveyor is 6204-ZZ, you have 4 in stores. Recommend PM on Thursday." The list gets better every week because the model learns what the team actually does with the suggestions.

Why not the predictive maintenance pitch the KL vendor was selling? Because the plant doesn't have a thousand machines, doesn't have a data team, and doesn't have a transformation budget. It has twelve critical machines, seven fitters, and a maintenance lead who wants to do her job without surprises. The build matches the plant, not the other way around. That's the honest by default line we keep in the call.

How the operation changed

Three concrete changes inside the first 16 weeks:

  • The Monday list replaced firefighting. Before, the maintenance lead spent the first hour of every Monday triaging whatever had broken over the weekend. Now, the list arrives at 6am and she triages the suggested PMs instead. The team has stopped chasing the same three recurring failures.
  • The team owns the model. The senior technicians push back when the model flags something they think is fine. Twice in the first month, they were right (sensor noise, not drift), and the model adjusted. Once, the model caught a developing bearing failure on a packaging-line motor that the team had decided to "watch for another week." The bearing failed on Wednesday — 36 hours before the next scheduled PM. The team has trusted the model since.
  • The plant manager stopped going home at 9pm. Less of a metric and more of a fact. Before the build, unscheduled stops spiked in the second half of the week and the plant manager was on the line every time. After, the line is more predictable. He goes home at 6.

The build is now in the second phase — visual inspection on the packaging line (catching surface defects that currently get caught by a human spot-check), and a small procurement link so the system orders bearings when stock drops below the threshold. That's the business automation layer that pays back on a different line of the P&L.

The numbers, four months in

We don't do client testimonials. We do numbers. The plant's view, four months after the Monday list went live:

  • Unscheduled stops: 3.2 per month → 1.2 per month. A 62% reduction. Across four months, that's roughly eight fewer unscheduled stops than the same period the year before.
  • Average recovery time: 4.2 hours → 1.1 hours. When a stop does happen, the team is faster — they know what failed before they get to the machine, parts are pre-staged, and the right fitter is on the floor.
  • Lost output: ~RM 95,000 per month → ~RM 32,000 per month. A RM 63,000/month recovery, mostly from stops avoided and faster recovery on the stops that still happen.
  • Maintenance lead hours: ~12 hours/week on triage → ~4 hours/week. She uses the recovered time to do the second-phase work — visual inspection tuning, procurement integration, training the team on the new diagnostics.
  • Model precision: 18 of 22 suggestions were acted on. The other 4 were genuine false positives. The team flagged them, the model adjusted, the false-positive rate is now below 15%.

Total first-year program cost: RM 42,000 to RM 90,000, spread monthly at roughly RM 3,500 to RM 7,500. The full program runs 12 to 18 months including handover, training, and the 90-day post-handover review.

Payback: 11 weeks on the conservative numbers, 6 weeks on the optimistic ones. The system is now in the second phase, and the second year is cheaper than the first because the baseline-and-drift model has learned the plant.

What it would cost for your business

We don't publish a price sheet, because the price depends on what you're running. Three honest bands for a Perak manufacturer:

  • RM 3,500 – RM 5,500 / month. A first-phase AI maintenance build for a 50 to 150-person Taiping, Sitiawan or Kinta Valley plant with 8 to 15 critical machines and a 3 to 6-person maintenance team. Total program RM 42k to RM 66k over 12 months.
  • RM 5,500 – RM 9,000 / month. A 2 to 3-phase build for a 150 to 400-person plant with 15 to 40 critical machines, a small data team or at least one curious engineer, and a willingness to layer visual inspection or procurement automation on top. Total program RM 66k to RM 108k.
  • RM 9,000 – RM 15,000 / month. A multi-line or 24/7 plant with 40+ critical machines, multiple shifts, and a phased build that includes spare-parts optimisation and supplier integration. Total program RM 108k to RM 180k.

These are the same bands we use for the Perak services page and the Kedah services page. Every engagement is priced for the build, not for the hours we put in.

What this looks like for your business

If you run a food, snack, OEM or light-manufacturing plant in Perak — Taiping, Sitiawan, Teluk Intan, the Kinta Valley — and your maintenance team is firefighting instead of planning, this kind of build is the right first move. We don't sell predictive maintenance. We build the smallest smart schedule that pays for itself by preventing the third or fourth unscheduled stop of the quarter.

The next step is a one-hour call, no slide deck. You tell us what you run, how many critical machines, how big the maintenance team. We walk the floor with you, look at the data you already have, and tell you honestly whether the build is worth it. If your bottleneck is in the kitchen or on the front-of-house rather than on the line, we'll tell you that too — see our Ipoh F&B case study for a different shape of the same build.

If your bottleneck is in the back office instead — stock, orders, AR — the build shape is different. Our Kedah auto-parts case study shows what the custom software side of the same engagement looks like. Get in touch and we'll set up the call.

Frequently asked questions

How long does a build like this actually take? The first phase for the Taiping plant was 14 weeks from kickoff to handover, including a 4-week baseline period where the model learned each machine's normal pattern. A simpler 8 to 12-machine build for a smaller plant can land in 10 to 12 weeks. Multi-phase builds with visual inspection and procurement integration take 4 to 6 months for the first two phases.

Does it replace my maintenance team? No. It removes the boring, reactive half of their job. The team still decides what to do, when, and how. The model just stops them from being surprised. The plant manager we worked with put it best: "the team still owns every PM — the model just helps them choose the right ones."

What if the data on the machines is too messy? That's the most common reason a build like this fails. We always start with a 2-week data audit. If the machines can't give us the signals we need (vibration, current, cycle count), we say so on the first call and recommend a different build or a different starting point. We'd rather walk away than build on garbage data.

What if my maintenance team doesn't want it? A team that actively resists the model will route around it, and the model will train on garbage. We insist on at least one of the senior technicians being an in-house champion for the build. If nobody on the team is willing to engage, the build is the wrong move and we'll tell you so.

Ready when you are

Tell us what you run.
We’ll spec the fix in a week.

Priced like a hire, not a project — around the cost of one admin a month. Most builds pay back in 30 days or less.

Get a build spec

More for Perak