PM / nuture nach Tag-Hinzufügung

Beim Betrachten von Mustern im Benutzerverhalten haben wir kürzlich begonnen, darauf zu achten, wann sich Benutzer selbst beantworten. Wenn ein Benutzer in einem Thread auf seine eigene OP (Original Post) antwortet, ist es ein #bump oder ein #self-solve? Ich habe einen Bericht geschrieben, um

Threads finden, in denen Benutzer sich selbst antworten.
-- Ziel: Threads anzeigen, in denen Benutzer sich selbst antworten

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')
),


-- 'normale' Threads finden, die von normalen Benutzern erstellt wurden
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  -- Threads von SonarSourcers weglassen
        AND tt.topic_id IS NULL -- Threads mit den Tags 'me-too', 'bump' oder 'self-solve' weglassen
        AND visible = TRUE
        AND archived = FALSE
        AND archetype='regular'
        AND deleted_at IS NULL
        AND created_at::DATE > '2023-07-01'
),

-- erste Nicht-OP-Antwort auf Benutzer-Threads finden
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 -- Threads eliminieren, bei denen SonarSourcer als Erster antwortet
    AND ub.user_id IS NULL -- Threads eliminieren, bei denen bereits ein Abzeichen vergeben wurde
ORDER BY mr.created_at DESC

Wir gehen die Ergebnisse regelmäßig durch, um Threads zu kategorisieren, indem wir ein #bump oder #self-solve Tag hinzufügen (was den Thread aus dem Bericht entfernt).

Und jetzt möchten wir darauf aufbauen, indem wir eine “Nurture” PM an Benutzer senden, die sich selbst lösen, um etwas wie Folgendes zu sagen:

Herzlichen Glückwunsch, dass Sie Ihr Problem gelöst haben und danke, dass Sie Ihre Erkenntnisse geteilt haben. Ihre Kollegen in der Community werden sie sicherlich in Zukunft nützlich finden. Und wenn Sie Ihre Expertise weiter einbringen möchten, erfahren Sie hier, wie Sie beginnen können…

Nun zur Frage: Wir können die relevanten Benutzer finden, basierend auf den Tags in ihren Threads. Und wir können diese Nachrichten sicherlich manuell senden (und tun dies bisher auch).

Aber gibt es eine Automatisierung, die wir rund um Folgendes einrichten können:

  • Auswahl der Benutzer (ja, wir können dafür einen weiteren Bericht schreiben…)
  • Senden der Nachricht
2 „Gefällt mir“