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.

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 projectPostgreSQL
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.