Nell’analizzare i modelli di comportamento degli utenti, abbiamo recentemente iniziato a prestare attenzione a quando gli utenti rispondono da soli. Quando un utente risponde al proprio OP in un thread, si tratta di un #bump o di un #self-solve? Ho scritto un report per
Trova thread in cui gli utenti rispondono da soli.
-- Obiettivo: mostrare thread in cui gli utenti rispondono da soli
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')
),
-- trova argomenti 'regolari' creati da utenti normali
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 -- ometti argomenti avviati da SonarSourcers
AND tt.topic_id IS NULL -- ometti argomenti taggati me-too, bump o self-solve
AND visible = TRUE
AND archived = FALSE
AND archetype='regular'
AND deleted_at IS NULL
AND created_at::DATE > '2023-07-01'
),
-- trova la prima risposta non-OP agli argomenti utente
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 -- elimina argomenti in cui SonarSourcer è il primo a rispondere
AND ub.user_id IS NULL -- elimina argomenti in cui un badge è già stato concesso
ORDER BY mr.created_at DESC
Esaminiamo regolarmente i risultati per categorizzare i thread aggiungendo un tag #bump o #self-solve (che rimuove il thread dal report).
E ora vorremmo ampliare questo aspetto inviando un PM di “nurture” agli utenti che risolvono da soli, dicendo qualcosa come
Congratulazioni per aver risolto il tuo problema e grazie per aver condiviso le tue scoperte. I tuoi colleghi nella community le troveranno sicuramente utili in futuro. E se desideri contribuire ulteriormente con la tua esperienza, ecco come puoi iniziare…
Ora, alla domanda: Possiamo trovare gli utenti pertinenti, in base ai tag nei loro thread. E possiamo certamente inviare questi messaggi manualmente (e lo stiamo facendo, finora).
Ma c’è qualche automazione che possiamo implementare riguardo a
- la selezione degli utenti (sì, possiamo scrivere un altro report per questo…)
- l’invio del messaggio