SQL Project 1同僚の分析を理解する
状況の説明
含めるべき内容
問題の状況を把握する(同僚が解決したい問題)
->問題:Investigating a Drop in User Engagement
テーブルID
->同僚の分析結果:Investigating a Drop in User Engagement: Answers
ヒントの分析方向、クエリーの理解(同僚がこの問題をどのように解決しているか)
提案されたソリューションに対する批判(同僚の論理展開方式やクエリーに問題があるかどうか、または他のメリットがあるかどうか)
任務を達成した収穫と感じ
それ以外にも、他の人とあなたの考えと挑戦を分かち合いたいなら、何でもいいです.
仮定の設定
クエリー分析
1番目のクエリ:成長率の検証
最も確認しやすいことの一つは成長率です.
これは測定が容易で、ほとんどの企業が厳密に追跡しているからです.
検索結果の結論:週中の成長率は高く、週末の成長率は低い.SELECT DATE_TRUNC('day',created_at) AS day,
COUNT(*) AS all_users,
COUNT(CASE WHEN activated_at IS NOT NULL THEN u.user_id ELSE NULL END) AS activated_users
FROM tutorial.yammer_users u
WHERE created_at >= '2014-06-01'
AND created_at < '2014-09-01'
GROUP BY 1
ORDER BY 1
1番目のクエリ:成長率の検証
最も確認しやすいことの一つは成長率です.
これは測定が容易で、ほとんどの企業が厳密に追跡しているからです.
検索結果の結論:週中の成長率は高く、週末の成長率は低い.
SELECT DATE_TRUNC('day',created_at) AS day,
COUNT(*) AS all_users,
COUNT(CASE WHEN activated_at IS NOT NULL THEN u.user_id ELSE NULL END) AS activated_users
FROM tutorial.yammer_users u
WHERE created_at >= '2014-06-01'
AND created_at < '2014-09-01'
GROUP BY 1
ORDER BY 1
コメント:
定義
2番目のクエリ:既存のユーザーパスワード
1番目のクエリで成長率の検証->これらの成長は正常であるため、新しいユーザではなく既存のユーザの参加度が低下していることを確認します.
ユーザー登録製品の時点に応じてサンゴを使用
SELECT DATE_TRUNC('week',z.occurred_at) AS "week",
AVG(z.age_at_event) AS "Average age during week",
COUNT(DISTINCT CASE WHEN z.user_age > 70 THEN z.user_id ELSE NULL END) AS "10+ weeks",
COUNT(DISTINCT CASE WHEN z.user_age < 70 AND z.user_age >= 63 THEN z.user_id ELSE NULL END) AS "9 weeks",
COUNT(DISTINCT CASE WHEN z.user_age < 63 AND z.user_age >= 56 THEN z.user_id ELSE NULL END) AS "8 weeks",
COUNT(DISTINCT CASE WHEN z.user_age < 56 AND z.user_age >= 49 THEN z.user_id ELSE NULL END) AS "7 weeks",
COUNT(DISTINCT CASE WHEN z.user_age < 49 AND z.user_age >= 42 THEN z.user_id ELSE NULL END) AS "6 weeks",
COUNT(DISTINCT CASE WHEN z.user_age < 42 AND z.user_age >= 35 THEN z.user_id ELSE NULL END) AS "5 weeks",
COUNT(DISTINCT CASE WHEN z.user_age < 35 AND z.user_age >= 28 THEN z.user_id ELSE NULL END) AS "4 weeks",
COUNT(DISTINCT CASE WHEN z.user_age < 28 AND z.user_age >= 21 THEN z.user_id ELSE NULL END) AS "3 weeks",
COUNT(DISTINCT CASE WHEN z.user_age < 21 AND z.user_age >= 14 THEN z.user_id ELSE NULL END) AS "2 weeks",
COUNT(DISTINCT CASE WHEN z.user_age < 14 AND z.user_age >= 7 THEN z.user_id ELSE NULL END) AS "1 week",
COUNT(DISTINCT CASE WHEN z.user_age < 7 THEN z.user_id ELSE NULL END) AS "Less than a week"
FROM (
SELECT e.occurred_at,
u.user_id,
DATE_TRUNC('week',u.activated_at) AS activation_week,
EXTRACT('day' FROM e.occurred_at - u.activated_at) AS age_at_event,
EXTRACT('day' FROM '2014-09-01'::TIMESTAMP - u.activated_at) AS user_age
FROM tutorial.yammer_users u
JOIN tutorial.yammer_events e
ON e.user_id = u.user_id
AND e.event_type = 'engagement'
AND e.event_name = 'login'
AND e.occurred_at >= '2014-05-01'
AND e.occurred_at < '2014-09-01'
WHERE u.activated_at IS NOT NULL
) z
GROUP BY 1
ORDER BY 1
LIMIT 100
コメント:
3番目のクエリ:アプライアンスの使用上の問題を確認します。
2回目のクエリでは、既存のユーザーの使用量が減少したことによる一時的な急増や検索エンジンでのランキングの変更、ブロックなど、新しいWebサイトのトラフィックに影響を与える問題には関与しないと考えられています.
そのため、異なるデバイスの使用問題が特定の製品に限られているかどうかを知る必要があります.
SELECT DATE_TRUNC('week', occurred_at) AS week,
COUNT(DISTINCT e.user_id) AS weekly_active_users,
COUNT(DISTINCT CASE WHEN e.device IN ('macbook pro','lenovo thinkpad','macbook air','dell inspiron notebook',
'asus chromebook','dell inspiron desktop','acer aspire notebook','hp pavilion desktop','acer aspire desktop','mac mini')
THEN e.user_id ELSE NULL END) AS computer,
COUNT(DISTINCT CASE WHEN e.device IN ('iphone 5','samsung galaxy s4','nexus 5','iphone 5s','iphone 4s','nokia lumia 635',
'htc one','samsung galaxy note','amazon fire phone') THEN e.user_id ELSE NULL END) AS phone,
COUNT(DISTINCT CASE WHEN e.device IN ('ipad air','nexus 7','ipad mini','nexus 10','kindle fire','windows surface',
'samsumg galaxy tablet') THEN e.user_id ELSE NULL END) AS tablet
FROM tutorial.yammer_events e
WHERE e.event_type = 'engagement'
AND e.event_name = 'login'
GROUP BY 1
ORDER BY 1
LIMIT 100
4番目のクエリ:Eメールの問題を確認
3番目のクエリー結果グラフから電話フィルタ:電話登録率の急激な低下->モバイルアプリケーションにおける長期ユーザーの保持に関する問題
->モバイルアプリケーションが最近どのように変化しているかを特定する+製品に参加している理由を考える
上記の要約Eメールは、ユーザーを製品に再ロードすることを目的としています.
この問題は長期ユーザー保存に関連していますので、Eメールが関連していることを確認してください.
SELECT DATE_TRUNC('week', occurred_at) AS week,
COUNT(CASE WHEN e.action = 'sent_weekly_digest' THEN e.user_id ELSE NULL END) AS weekly_emails,
COUNT(CASE WHEN e.action = 'sent_reengagement_email' THEN e.user_id ELSE NULL END) AS reengagement_emails,
COUNT(CASE WHEN e.action = 'email_open' THEN e.user_id ELSE NULL END) AS email_opens,
COUNT(CASE WHEN e.action = 'email_clickthrough' THEN e.user_id ELSE NULL END) AS email_clickthroughs
FROM tutorial.yammer_emails e
GROUP BY 1
ORDER BY 1
5回目のクエリ:Eメールの質問を週に1回表示
clickthroughsでフィルタリング:clickthroughsは下にたくさんあります.
上記の4番目のクエリー結果グラフには、Eメールのクリック数と開く速度がより詳細に表示されており、モバイルアプリケーションだけでなく、要約Eメールも確認できます.
SELECT week,
weekly_opens/CASE WHEN weekly_emails = 0 THEN 1 ELSE weekly_emails END::FLOAT AS weekly_open_rate,
weekly_ctr/CASE WHEN weekly_opens = 0 THEN 1 ELSE weekly_opens END::FLOAT AS weekly_ctr,
retain_opens/CASE WHEN retain_emails = 0 THEN 1 ELSE retain_emails END::FLOAT AS retain_open_rate,
retain_ctr/CASE WHEN retain_opens = 0 THEN 1 ELSE retain_opens END::FLOAT AS retain_ctr
FROM (
SELECT DATE_TRUNC('week',e1.occurred_at) AS week,
COUNT(CASE WHEN e1.action = 'sent_weekly_digest' THEN e1.user_id ELSE NULL END) AS weekly_emails,
COUNT(CASE WHEN e1.action = 'sent_weekly_digest' THEN e2.user_id ELSE NULL END) AS weekly_opens,
COUNT(CASE WHEN e1.action = 'sent_weekly_digest' THEN e3.user_id ELSE NULL END) AS weekly_ctr,
COUNT(CASE WHEN e1.action = 'sent_reengagement_email' THEN e1.user_id ELSE NULL END) AS retain_emails,
COUNT(CASE WHEN e1.action = 'sent_reengagement_email' THEN e2.user_id ELSE NULL END) AS retain_opens,
COUNT(CASE WHEN e1.action = 'sent_reengagement_email' THEN e3.user_id ELSE NULL END) AS retain_ctr
FROM tutorial.yammer_emails e1
LEFT JOIN tutorial.yammer_emails e2
ON e2.occurred_at >= e1.occurred_at
AND e2.occurred_at < e1.occurred_at + INTERVAL '5 MINUTE'
AND e2.user_id = e1.user_id
AND e2.action = 'email_open'
LEFT JOIN tutorial.yammer_emails e3
ON e3.occurred_at >= e2.occurred_at
AND e3.occurred_at < e2.occurred_at + INTERVAL '5 MINUTE'
AND e3.user_id = e2.user_id
AND e3.action = 'email_clickthrough'
WHERE e1.occurred_at >= '2014-06-01'
AND e1.occurred_at < '2014-09-01'
AND e1.action IN ('sent_weekly_digest','sent_reengagement_email')
GROUP BY 1
) a
ORDER BY 1
同僚まとめ:
モバイル使用および要約Eメールに関連
同僚に対する意見
しきい値:
1)メールの内容に問題がありますか.
2)Eメールヘッダに問題がありますか?
3)モバイルアプリケーションではどのような問題がありますか.システムエラー?UIの不便?コンテンツの使用制限?
メリット:
1)問題の大きな枠組みを把握した.
2)上記の作業により、他のチームがどこに行くべきかを判断するのに多くの時間を節約できます.
Reference
この問題について(SQL Project 1同僚の分析を理解する), 我々は、より多くの情報をここで見つけました https://velog.io/@aza425/SQL프로젝트1동료의-분석-파악テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol