EnableYourData.com

KPI · Inventory, purchasing and production

Capacity utilisation: formula and example.

Capacity utilisation is the percentage of available production capacity that you actually use. You measure it in time, such as machine or shift hours, or in output. It shows whether you have room for more orders or are close to your limit.

Capacity utilisation formula

Production time used ÷ available production time × 100%

Worked example

Acme Groothandel's packing line is available for 2 shifts × 5 days × 450 minutes = 4,500 minutes a week. In week 14 of 2026 the line ran for 3,600 minutes. Capacity utilisation is 3,600 ÷ 4,500 × 100% = 80.0%.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

Higher utilisation spreads fixed costs over more output. If you run close to the limit all the time, waiting times and lead times often rise quickly and there is little room for rush orders or breakdowns. Compare with your own schedule and the demand forecast, and look at it per line or machine.

Pitfalls with capacity utilisation

  • Not defining available time, so everyone uses a different denominator.
  • Confusing capacity utilisation with OEE; one is about how much time you use, the other about how well.
  • Showing only the average across lines while one bottleneck determines output.

SQL & DAX

Calculating capacity utilisation in SQL and DAX

Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.

SQL · PostgreSQL
WITH capacity AS (
  SELECT 4500 AS available_minutes_per_week
)
SELECT date_trunc('week', po.started_at) AS week,
       SUM(po.run_minutes) AS run_minutes,
       ROUND(100.0 * SUM(po.run_minutes)
             / NULLIF(MAX(c.available_minutes_per_week), 0), 1) AS capacity_utilization_pct
FROM production_orders po
CROSS JOIN capacity c
WHERE po.started_at >= current_date - interval '12 weeks'
GROUP BY 1
ORDER BY 1;
DAX · Power BI
Available Minutes = 4500 * DISTINCTCOUNT('Date'[WeekStart])
Capacity Utilisation = DIVIDE(SUM(Production[RunMinutes]), [Available Minutes])

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for capacity utilisation per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.

Read more →

In your Power BI dashboard

Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.

Read more →

Custom dashboards (pilot)

Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.

Read more →

Monthly targets

With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.

Read more →

FAQ

Frequently asked questions

How do you calculate capacity utilisation?

Divide the production time actually used by the production time available in the same period. Available time is, for example, the number of shifts times days times minutes per shift. You can also calculate it in output: actual production divided by maximum achievable production.

Is 100% capacity utilisation a good target?

Usually not. At full utilisation there is no room for breakdowns, maintenance or rush orders, and queues build up quickly. Decide what buffer you need based on how much your demand and process vary.

What is the difference between capacity utilisation and OEE?

Capacity utilisation tells you how much of the available time you used. OEE tells you how effective the planned time was, taking downtime, speed and quality into account. You need both to know whether you can produce more by planning better or by running better.

Use AI on your own data. Securely, and without the headache.

In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.