Metric

What is collaboration response time, and how do you measure it in Metabase?

Collaboration response time is the elapsed time from a question, request, or new thread to its first useful human reply. It exposes slow handoffs and unattended work without rewarding raw message volume.

TL;DR — Response time = first useful human reply − thread start. Report median and p90, segment by context, and exclude bots and self-replies.

What does a collaboration response time chart look like in Metabase?

Plot median and p90 first-response hours per week and read the gap between them as well as the slope: both falling means handoffs are genuinely getting faster, not just the easy threads. A spike like Jun 8's, where both lines jump together, usually maps to a thin week — an offsite or holiday — rather than a process regression.

Collaboration response time in Metabase: a line chart of median and p90 first-response hours by week.
Collaboration response time as a Metabase card, built from synced thread data. Figures are illustrative.

Definition

Define which thread types need a response and what counts as useful. For support or incident channels that may be any non-bot reply; for design reviews it may be the first reviewer comment or resolution action.

Data needed

  • Thread/request ID and creation timestamp
  • Reply timestamps, authors, and parent relationships
  • Bot, self-reply, deleted, and system-message flags
  • Workspace, channel, team, request type, and business-hours calendar

SQL pattern

Median and p90 first-response time PostgreSQL
SELECT
  date_trunc('week', thread_created_at) AS week,
  percentile_cont(0.5) WITHIN GROUP (
    ORDER BY EXTRACT(EPOCH FROM (first_useful_reply_at - thread_created_at)) / 3600.0
  ) AS median_response_hours,
  percentile_cont(0.9) WITHIN GROUP (
    ORDER BY EXTRACT(EPOCH FROM (first_useful_reply_at - thread_created_at)) / 3600.0
  ) AS p90_response_hours
FROM collaboration_threads
WHERE first_useful_reply_at IS NOT NULL
  AND is_automated = FALSE
GROUP BY 1
ORDER BY 1;

Pitfalls

Using the first message of any kind. → Bot acknowledgements and self-replies can make response time look instant. Define the first useful human response explicitly.
Ignoring nights, weekends, and urgency. → Calendar time is fine for global collaboration, but operational SLAs may need business-hours logic and separate targets by request type.

FAQ

Is faster response always better?
No. Speed matters when work is blocked or time-sensitive, but thoughtful asynchronous collaboration can be healthy. Read response time with request type, resolution, and outcome—not as a universal productivity score.