版主举报处理效率报告

这是一个 Data Explorer SQL 查询,旨在深入了解论坛版主处理用户在帖子中提出的标记的效率和响应能力。

本报告显示了在指定日期范围内,每个版主处理的标记数量以及解决标记的平均时间。

了解版主响应标记的速度和有效性,可以帮助管理员确保论坛对所有用户来说都是一个安全且受欢迎的空间。

-- [params]
-- date :start_date = 2023-01-01
-- date :end_date = 2024-01-01

WITH period_actions AS (
    SELECT pa.id,
           pa.post_action_type_id,
           pa.created_at,
           pa.agreed_at,
           pa.disagreed_at,
           pa.deferred_at,
           pa.agreed_by_id,
           pa.disagreed_by_id,
           pa.deferred_by_id,
           pa.post_id,
           pa.user_id,
           COALESCE(pa.disagreed_at, pa.agreed_at, pa.deferred_at) AS responded_at,
           EXTRACT(EPOCH FROM (COALESCE(pa.disagreed_at, pa.agreed_at, pa.deferred_at) - pa.created_at)) / 60 AS time_to_resolution_minutes -- time to resolution in minutes
    FROM post_actions pa
    WHERE pa.post_action_type_id IN (3,4,6,7,8) -- Flag types
      AND pa.created_at >= :start_date
      AND pa.created_at <= :end_date
),
moderator_actions AS (
    SELECT pa.id,
           pa.post_id,
           pa.created_at,
           pa.responded_at,
           pa.time_to_resolution_minutes,
           COALESCE(pa.agreed_by_id, pa.disagreed_by_id, pa.deferred_by_id) AS moderator_id
    FROM period_actions pa
    WHERE COALESCE(pa.agreed_by_id, pa.disagreed_by_id, pa.deferred_by_id) IS NOT NULL
),
moderator_stats AS (
    SELECT
        m.moderator_id,
        u.username AS moderator_username,
        COUNT(m.id) AS handled_flags,
        AVG(m.time_to_resolution_minutes) AS avg_resolution_time_minutes
    FROM moderator_actions m
    JOIN users u ON u.id = m.moderator_id
    GROUP BY m.moderator_id, u.username
)
SELECT
    ms.moderator_username,
    ms.handled_flags,
    ROUND(ms.avg_resolution_time_minutes::numeric, 2) AS avg_resolution_time_minutes
FROM moderator_stats ms
ORDER BY ms.handled_flags DESC, ms.avg_resolution_time_minutes ASC

SQL 查询说明

参数

该查询使用两个参数来定义要分析数据的时间范围:

  • :start_date:要分析期间的开始日期,格式为 YYYY-MM-DD
  • :end_date:要分析期间的结束日期,格式也为 YYYY-MM-DD

CTE 说明

  • period_actions:此 CTE 选择指定时间段内提出的标记,重点关注特定的标记类型。它计算从标记创建到版主同意、不同意或推迟标记(以分钟为单位)的解决时间。
  • moderator_actions:此 CTE 过滤来自 period_actions 的操作,仅包括由版主响应的操作。它识别负责每个操作的版主。
  • moderator_stats:此 CTE 聚合来自 moderator_actions 的数据,计算每个版主处理的标记总数以及他们处理的标记的平均解决时间(以分钟为单位)。

结果

查询的最终输出提供了一个按处理标记数量排序的版主列表,并按平均解决时间(升序)进行次要排序。对于每个版主,报告显示:

  • moderator_username:版主的用户名。
  • handled_flags:版主在指定时间段内处理的标记总数。
  • avg_resolution_time_minutes:版主解决标记的平均时间,四舍五入到小数点后两位。

示例结果

moderator_username handled_flags avg_resolution_time_minutes
Moderator1 343 39.41
Moderator2 70 30.51
Moderator3 63 42.21