Average Ticket Age: The GLPI Indicator Nobody Tracks

What average ticket age is, why it reveals more than mean resolution time, how to calculate it, and how to use it in GLPI to find forgotten tickets.

Mean resolution time measures the past. Average ticket age measures the present. It is the indicator that exposes forgotten tickets in the backlog – and almost nobody tracks it.

What it is

Average ticket age is the mean number of days that open tickets have been open, counted from their creation date to today. It does not count closed tickets – it focuses exclusively on what is currently sitting in the queue.

Why it is more revealing than MRT

The Mean Resolution Time (MRT) measures tickets that have already been resolved – naturally the fastest ones pull the average down. Meanwhile, 50 tickets may have been open for 30 days without the MRT showing anything.

Average ticket age exposes exactly those forgotten tickets.

How to calculate it

SQL query for GLPI

-- Average age of open tickets (in days)
SELECT 
  ROUND(AVG(DATEDIFF(NOW(), date)), 1) AS idade_media_dias,
  COUNT(*) AS total_abertos
FROM glpi_tickets 
WHERE status NOT IN (5, 6)  -- 5=Solved, 6=Closed
  AND is_deleted = 0;

By group

SELECT 
  g.completename AS grupo,
  ROUND(AVG(DATEDIFF(NOW(), t.date)), 1) AS idade_media,
  COUNT(*) AS total
FROM glpi_tickets t
JOIN glpi_groups_tickets gt ON gt.tickets_id = t.id AND gt.type = 2
JOIN glpi_groups g ON g.id = gt.groups_id
WHERE t.status NOT IN (5, 6) AND t.is_deleted = 0
GROUP BY g.completename
ORDER BY idade_media DESC;

How to interpret it

Average ageInterpretationAction
< 3 daysHealthyMaintain
3–7 daysAcceptableMonitor
7–15 daysWarningReview backlog, identify bottlenecks
> 15 daysCriticalImmediate action: review each old ticket

Setting up the dashboard

In Metabase or Grafana, create a card with the query above. Add an entity and group filter for drill-down.

A useful complement: a distribution chart showing how many tickets are 0–3 days, 3–7, 7–15 and 15+ days old. This reveals the long tail of the backlog.

Practical action

  1. Run the query weekly (or automate it in the dashboard)
  2. If the average age rises, identify the oldest tickets
  3. Classify them: forgotten (no owner), blocked (waiting on a third party), or legitimate (high complexity)
  4. For forgotten tickets: reassign. For blocked tickets: document and follow up. For legitimate tickets: review the SLA.

Next step

Combine with the other Service Desk KPIs for a complete view of the operation.

Frequently Asked Questions

It is the mean number of days between the opening date and today for all tickets that are still open. The higher the average age, the more old tickets are sitting idle in the queue.

Unlike mean resolution time (which measures already-closed tickets), average ticket age shows the current state of the backlog. A high average age indicates forgotten or abandoned tickets.

It depends on the operation, but below 5 business days is generally healthy. Above 10 days indicates capacity, prioritization or process problems.

GLPI does not display this metric natively. Use SQL: SELECT AVG(DATEDIFF(NOW(), date)) FROM glpi_tickets WHERE status NOT IN (5,6). For dashboards, use Metabase or Grafana.

Need help?