Metric

What is overdue rate, and how do you measure it in Metabase?

Overdue rate is the share of open, dated work that is past due. It is one of the cleanest early warnings for project risk.

TL;DR — Overdue rate = open work past due ÷ open work with a due date. Track missing due dates beside it.

What does an overdue rate chart look like in Metabase?

Plot open past-due work as a share of open dated work each week. The downward trend is deadline hygiene improving, while a spike like Jun 1's — a slipped milestone pushing a batch of items past due at once — shows how the metric jumps in steps, which is exactly what makes it a good early warning.

Overdue rate in Metabase: a line chart of open work past due as a share of dated work, by week.
Overdue rate as a Metabase card, built from work-item data. Figures are illustrative.

Definition

Overdue rate = open items with due_date < today divided by open items with due dates.

Data needed

  • due_date
  • completed_at or done status
  • Archived/canceled flags
  • Project, owner, and team fields for drilldowns

SQL pattern

Overdue rate by project PostgreSQL
SELECT
  project_name,
  COUNT(*) FILTER (WHERE completed_at IS NULL AND due_date < CURRENT_DATE) AS overdue_items,
  COUNT(*) FILTER (WHERE completed_at IS NULL AND due_date IS NOT NULL) AS open_dated_items,
  ROUND(
    100.0 * COUNT(*) FILTER (WHERE completed_at IS NULL AND due_date < CURRENT_DATE)
    / NULLIF(COUNT(*) FILTER (WHERE completed_at IS NULL AND due_date IS NOT NULL), 0),
    2
  ) AS overdue_rate
FROM work_items
WHERE archived_at IS NULL
  AND canceled_at IS NULL
GROUP BY 1
ORDER BY overdue_rate DESC NULLS LAST;

Pitfalls

Letting missing due dates hide risk. → Add a separate card for open work without due dates.
Counting completed work as overdue. → Only open work should be in the numerator.

FAQ

Should undated work be counted as overdue?
Usually no. Report undated open work separately, because it is a data-quality and planning risk rather than a missed deadline.