PM / 태그 추가 후 nuture

사용자 행동 패턴을 분석하는 과정에서 최근에는 사용자가 스스로 답변하는 시점에 주목하기 시작했습니다. 사용자가 스레드에서 자신의 OP(원글)에 답글을 달 때, 이는 #bump인가요, 아니면 #self-solve인가요? 저는 이에 대한 보고서를 작성했습니다.

사용자가 스스로에게 답글을 단 스레드를 찾는 방법.
-- 사용자가 스스로에게 답글을 단 스레드를 표시하는 것이 목표

WITH

SonarSourcers AS (
    SELECT u.id AS user_id
    FROM groups g
    INNER JOIN group_users gu ON g.id=gu.group_id
    INNER JOIN users u ON u.id = gu.user_id
    WHERE g.name='sonarsourcers'
),

tagged_topics AS (
    SELECT tt.topic_id
    FROM topic_tags tt
    JOIN tags t on t.id=tt.tag_id
    WHERE name in ('me-too', 'bump', 'self-solve')
),


-- 일반 사용자가 생성한 '일반' 토픽 찾기
topic_user AS (
    SELECT id as topic_id, user_id, created_at
    FROM topics
    LEFT JOIN SonarSourcers ss USING(user_id)
    LEFT JOIN tagged_topics tt on topics.id = tt.topic_id
    WHERE ss.user_id IS NULL  -- SonarSourcers가 시작한 토픽 제외
        AND tt.topic_id IS NULL -- me-too, bump 또는 self-solve 태그가 붙은 토픽 제외
        AND visible = TRUE
        AND archived = FALSE
        AND archetype='regular'
        AND deleted_at IS NULL
        AND created_at::DATE > '2023-07-01'
),

-- 사용자 토픽에 대한 OP가 아닌 첫 번째 답글 찾기
min_response AS (
    SELECT p.topic_id, tu.created_at, MIN(post_number) as post_number
    FROM posts p
    JOIN topic_user tu USING(topic_id)
    WHERE p.post_type = 1
--        AND p.user_id = tu.user_id
        AND p.post_number > 1
        AND p.hidden = false
        AND p.deleted_at IS NULL
    GROUP BY topic_id, tu.created_at
)

SELECT p.topic_id, p.user_id, mr.created_at::DATE as thread_date
FROM posts p
JOIN min_response mr ON p.topic_id = mr.topic_id AND p.post_number=mr.post_number
LEFT JOIN SonarSourcers ss ON p.user_id=ss.user_id
LEFT JOIN user_badges ub on p.id = ub.post_id and ub.badge_id=110
WHERE ss.user_id IS NULL -- SonarSourcer가 먼저 답글을 단 토픽 제외
    AND ub.user_id IS NULL -- 이미 배지가 부여된 토픽 제외
ORDER BY mr.created_at DESC

우리는 결과를 정기적으로 검토하여 #bump 또는 #self-solve 태그를 추가함으로써 스레드를 분류합니다(이렇게 하면 해당 스레드가 보고서에서 제외됩니다).

이제 우리는 이를 기반으로 스스로 해결한(self-solve) 사용자에게 다음과 같은 “nurture”(양육/관심 표현) PM을 보내고 싶습니다.

문제를 해결해 주셔서 축하드립니다. 그리고 그 결과를 공유해 주셔서 감사합니다. 커뮤니티의 동료들은 미래에 이를 분명히 유용하게 활용할 것입니다. 그리고 만약 여러분의 전문 지식을 더 나누고 싶으시다면, 이렇게 시작할 수 있습니다…

자, 이제 질문으로 돌아가겠습니다: 스레드의 태그를 기반으로 관련 사용자를 찾을 수 있습니다. 그리고 이러한 메시지를 수동으로 보낼 수도 있습니다(그리고 지금까지 그렇게 해오고 있습니다).

하지만 다음 사항에 대해 어떤 자동화를 도입할 수 있을까요?

  • 사용자 선택 (네, 이를 위해 별도의 보고서를 작성할 수 있습니다…)
  • 메시지 전송
2개의 좋아요