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