Every lost minute, accounted for.
OEE isn't a data-entry chore — it's the by-product of work your operators already do. Every pause becomes a categorised loss, every loss becomes a live number, and the same engine turns the whole floor into KPIs, scheduled reports and exports. No nightly batch, no spreadsheet lag.
What is Bulk OEE & Analytics?
Bulk OEE & Analytics turns the work your operators already do into live OEE. Every pause becomes a categorised loss — Availability, Performance or Quality — every loss becomes a live number, and the same engine rolls the whole floor into KPIs, scheduled reports and exports. No nightly batch, and no spreadsheet lag.
A pause is already a measurement.
There's no separate OEE step. When an operator pauses a job, they pick why from a list grouped by loss category — and that single tap creates a categorised downtime event, ticking live until work resumes. Try it: pick a reason.
The operator picks why
Reasons are grouped by OEE category with the most-used surfaced as quick-picks. Choose one and the record on the right writes itself.
A categorised loss event
One row in the unified store — open while downtime runs, closed with a computed duration the moment the timer resumes.
Pause requires a reason only when the asset type has OEE tracking switched on — otherwise the timer just pauses, clean, with no prompt.
The whole day, hour by hour.
One row per asset, every state change colour-coded — running, downtime by loss category, inactive. Five headline KPIs above, a live OEE score per machine on the left, output on the right. Hover any block; step a day back and the numbers recompute for what you're looking at.
Where the time actually went.
Every downtime reason maps to exactly one of the three standard loss categories. That mapping is what lets the same coloured block on the timeline roll up into an availability, performance or quality story — and into the OEE number itself.
The machine wasn't running.
Unplanned stops, breakdowns, changeovers and waiting — every minute the asset could have produced but didn't.
Running, but not at pace.
Minor stops, idling and reduced speed — the slow bleed of time when the line is up but under-delivering.
Made, but not good.
Startup rejects and production rejects — output that ran but never counted as a sellable part.
Six widgets, one OEE story.
Drop them onto any operations board, scope them to a set of assets and a date range, and they refresh as the line moves. The biggest reasons you lose time, the biggest reasons you lose money, where output sits against target — and what's down right now.
One number, everywhere it's needed.
OEE is one reading among many. The same engine that fills the timeline measures everything else the floor does — and every surface draws from the same source. The number on the board is the number in the report, the invoice and the export.
KPIs that compute themselves
Define a metric once and pull its value from production, audits, incidents or a formula — or type it by hand. Set targets on a week matrix, submit actuals daily, each stamped pass or fail.
live metricReports that deliver themselves
Six branded report types, scheduled by weekday and timezone, rendered to PDF and emailed with a one-click secure link. OEE per asset, per operator, production, quality and 5S.
on a timerExports anyone can build
A five-step wizard turns any table into a CSV, XLSX or JSON — pick fields, resolve linked references, filter, preview. Save it as a template, schedule it for recurring delivery.
no codeFive ways to source one metric.
Where a KPI's value comes from is a choice, not a constraint. Most numbers shouldn't be typed at all — wire them to the work and they keep themselves current, climbing from typed-by-hand to fully derived.
Manual
Typed each period through the daily form, grouped by category.
by handAudits
Total, pass-rate or average score off an audit template.
audit metricProduction
On-time delivery, right-first-time, quantity, value or buffer — with filters.
computedIncidents
A count of safety incidents by type and status.
countedFormula NEW
A token chain combining other KPIs with operators and functions.
derivedCategory, unit, goal
name · unit · aggregation
operator ≥ ≤ =
Target matrix
Mon–Sun grid per week
copy · quick-fill · clear
Actual vs target
one form, by category
stamped pass / fail
It leaves the building on its own.
Two paths out: a branded PDF that lands in inboxes on a schedule, and a no-engineering export wizard for the analysts who want the raw rows. Both run on cron, both deliver by secure link.
Six report types, on a timer
Pick a type and time period, set who gets it and when. The pipeline gathers, renders, converts to PDF and emails — failures logged, never silent.
Any table, five steps, no code
From source table to a downloadable file — saved as a reusable template you can run on demand or schedule.
Why it's never two days behind.
Heavy analytical scans never touch the live floor system. A background pipeline mirrors your tables to a columnar store on a fast and a full cadence, and every analytics surface queries that — so the timeline, the widgets and the reports stay current without a nightly job.
Live tables
Jobs, timer sessions, OEE events, quality, orders and more — the operational truth as it happens.
Parquet, two cadences
A durable job queue exports each table to columnar files in object storage.
Columnar OLAP
Timelines, board widgets and the heavier reports run SQL against the loaded snapshot — fast, and out of the floor's way.
Every number on the board is the same number in the report, the invoice and the live dashboard — no manual re-entry, and no nightly export.
Measured by doing the work.
by-product
uplift
minutes
report
Analytics doesn't sit in a silo.
Running time, downtime, KPIs and reports all reach into the modules that produce them — measurement is connected to everywhere the work actually happens.
Production
Timer sessions are the source of running time; pausing a job is what creates every timer-sourced OEE event.
Boards & Dashboards
The six OEE widgets and the KPI chart read the same snapshot — KPIs are a first-class board data source.
People
Re-stack the same timeline per operator — rows become people, and each links to an employee record.
Quality & Safety
Quality overview reports and incident-sourced KPIs feed straight from the QA and safety modules.
Settings & Master data
Assets, units, categories and the downtime-reason library configure what gets measured and how it renders.
Invoicing
The same production figures that drive OEE and KPIs feed value and quantity straight into billing.
Questions, answered.
What is Bulk OEE & Analytics?
It turns the work operators already do into live OEE: every pause is captured as a categorised loss, every loss becomes a live number, and the same engine rolls the floor into KPIs, scheduled reports and exports.
Do I have to enter data to get OEE?
No. OEE isn't a data-entry chore here — it's the by-product of the work your operators already do, so the numbers build themselves as the floor runs.
How are losses categorised?
Every pause is sorted into Availability, Performance or Quality, so a stoppage becomes a reasoned loss rather than an unexplained gap in the day.
Is the OEE live or a nightly batch?
It's live. Every loss becomes a live number as it happens — no nightly export and no spreadsheet lag before you can see where the time went.
Can I get KPIs, reports and exports out of it?
Yes. The same engine that scores OEE turns the whole floor into KPIs, scheduled reports and exports, so the numbers reach the people who need them without extra tools.
Can I see OEE per machine across the day?
Yes. The live timeline lays out each asset run by run, showing where it was running, down or idle — with every downtime segment tied to its loss reason.
Stop guessing where the time goes.
We'll take one shift from one of your machines and walk it the whole way — pause to reason to loss to live OEE — so you can see the picture it draws.