SQL 쿼리는 데이터 사용을 시작할 때 알고 싶습니다.제1부분: 활동 파이프.
13988 단어 analyticssqlproductivity
SQL은 기억할 만하다.
어이!저는 케이티, 하버 회사의 제품 데이터 과학자입니다.👩🏼💻
하버에 가입한 지 두 달도 안 된 이후로, 나는 내 머릿속에 얼마나 많은 SQL이 있는지 알아차렸다.이 문제들을 나는 내가 일하는 곳마다 반복해서 사용하고 있다는 것을 발견했다. 일단 내가 그것을 한 번 사용하면 나는 그것들을 잊을 수 없다.
그래서 나는 이 문제들이 다른 사람에게 유용하지 않도록 공유할 가치가 있다고 생각한다🤗 이것이 바로 내가 이 일련의 블로그 문장에서 해야 할 일이다.
제품 성능을 심층적으로 검토할 때 가장 일반적인 SQL 쿼리를 살펴보겠습니다.이 데이터를 어떻게 사용해서 당신이 더욱 좋은 제품 결정을 내릴 수 있는지도 소개할 것입니다.
따라서 건축에 대해 알고 싶습니다.
데이터 구동 회사가 되는 것은 때때로 백일몽처럼 느껴질 수도 있지만, 이 블로그 글들이 당신의 팀이 이 목표를 실현하는 데 도움을 줄 수 있기를 바랍니다💪.
이벤트 슬롯을 사용하여 사용자가 참가할 수 있는 일련의 이벤트를 추적하고 여정을 개선합니다!
내가 처음 제품을 발표할 때 수집한 가장 유용한 데이터 중 하나는 활성 파이프이다.
이벤트 버퍼는 일련의 단계(이벤트) 완료율을 측정하는 도구입니다.예를 들어 계정을 만드는 데 필요한 절차를 열거하고 각 단계의 완성률을 추적할 수 있는 파이프를 만들 수 있습니다.

이 누두를 통해 사용자의 여정에서 가장 큰 하강점이 되는 절차를 볼 수 있습니다.다음과 같은 유용한 정보를 제공합니다.
우리는 비콘과의 더 높은 참여도를 촉진하기 위해 활동 누두를 어떻게 사용합니까?
Slack에서 SQL을 작성하고 실행하며 공유할 수 있는 제품Beacon을 개발했습니다add it to your workspace here!
일단 우리가 그것을 내놓으면, 우리는 사용자가 어떻게 제품에 참여하는지 알고 싶다.구체적으로 말해서, 우리는 왜 사람들이 비콘을 설치한 후에 그것을 사용해서 조회를 실행하지 않았는지 알고 싶다.
따라서 우리는 하나의 조작("실행 조회")이 있다. 우리는 완성률을 최적화하려고 노력하고 있다. 우리는 이 조작의 절차를 알고 있다.들어오다활동 깔때기.
나는 '내가 앱을 설치했다' 에서 '내가 검색을 실행했다' 까지의 사용자를 위해 이벤트 플러그인을 만들었다.나는 우리의 훌륭한 도구Beacon를 사용하여 조회를 실행하고 슬랙의 팀과 결과를 직접 공유한다.

...

이 이벤트 누설은 가장 큰 하강점이 3단계와 4사이에 있음을 분명히 보여 준다. 보기
connect modal
(데이터베이스에 어떻게 연결하는지 설명하는 화면) 와 성공 database connected
이다.따라서 우리는 이 단계에서 어려움을 겪는 일부 사용자와 연락하여 우리가 할 수 있는 개선을 집중적으로 토론하여 데이터베이스 연결의 마찰을 줄이는 데 도움을 주었다.기본적으로 행사 누두는 우리가 사용자 참여도의 최대 성장을 추진하려면 제품의 어떤 부분을 바꿔야 하는지를 보여준다.
이벤트 깔때기는 내 기억의 SQL 쿼리 중 하나입니다.
누두를 구축하기 위해서는 누두의 한 걸음 한 걸음에 한 줄을 포함하는 표를 만들고 이 절차를 완성한 사용자 수를 계산해야 합니다.

이러한
step_name
값은 우리가 응용 프로그램에서 추적한 분석 이벤트입니다(설정하지 않은 경우 Segment나 Rudderstack 등 도구로 이벤트 추적을 설정할 수 있습니다!)누두에 필요한 절차와 순서가 정해지면 다음 SQL 템플릿을 사용하여 이벤트 누두를 구축할 수 있습니다.우리 팀은 지금 이런 누두를 보는 것을 좋아한다. 그것은 우리의 많은 일을 추진했다.매일 아침 일어나기 전에 우리는 Beacon를 사용하여 팀에서 최신 사건 누두 데이터를 공유한다.
세 개의 이벤트를 눌렀지만, 이 템플릿의 모드에 따라 추가 하위 조회로 더 많은 이벤트를 추가할 수 있습니다. (실제로는 "CTEs"라고 합니다.)
이것이 바로 그것의 영광이다. 사건의 누두다.
버퍼를 사용하려면 다음 이벤트를 실행해야 합니다.
1단계: 다음 질의에 올바른 변수를 삽입합니다.
user_id
필드는 사용자의 표지부호(또는 누두에서 계산한 단위가 필요합니다. - 예를 들어 팀이 어떤 일을 하는 전환율을 알고 싶다면)team_id
필드는 각 하위 쿼리(CTE)에서 참조하는 단계의 이름이어야 합니다.event
필드는 이벤트 발생 시간을 나타냅니다.timestamp
를 변경해야 합니다.나는 이미 밑에 있는 코드를 주석해 버렸는데, 이것은 당신이 누두의 날짜 범위를 지정할 수 있도록 합니다. (참조:
FROM project_name.dataset_name.event_name_1
만약 필요하다면, 당신은 그것을 추가할 수 있지만, 이것은 조회 작업에 필요한 것이 아닙니다.🙂WITH event_1 AS (
SELECT
user_id, -- identifier of the thing you're counting in your funnel
'get_in_rocket' AS event, -- name of the step in your funnel
MIN(timestamp) AS timestamp_first -- timestamp of when the event occurred
FROM `project_name.dataset_name.event_name_1` -- table where your event data is stored for step 1
GROUP BY 1, 2
),
event_2 AS (
SELECT
s2.user_id,
'push_button' AS event,
MIN(timestamp) AS timestamp_first
FROM `project_name.dataset_name.event_name_2` AS s2
INNER JOIN event_1 s1 ON s1.user_id = s2.user_id
WHERE s2.timestamp >= s1.timestamp_first
GROUP BY 1,2
),
event_3 AS (
SELECT
s3.user_id,
'blastoff' AS event,
MIN(timestamp) AS timestamp_first
FROM `project_name.dataset_name.event_name_3` AS s3
INNER JOIN event_2 s2 ON s2.user_id = s3.user_id
WHERE s3.timestamp >= s2.timestamp_first
GROUP BY 1,2
),
all_events AS (
SELECT CONCAT('01: "', event, '"') as step_name, user_id, timestamp_first FROM event_1
UNION ALL
SELECT CONCAT('02: "', event, '"') as step_name, user_id, timestamp_first FROM event_2
UNION ALL
SELECT CONCAT('03: "', event, '"') as step_name, user_id, timestamp_first FROM event_3
)
SELECT
step_name,
COUNT(user_id) AS num_users_making_it_to_step,
ROUND(COUNT(user_id) * 100 / (MAX(COUNT(user_id)) OVER(PARTITION BY NULL)), 2) AS percent_of_users_making_it_to_step
FROM all_events
LEFT JOIN event_1 USING(user_id)
-- IF YOU WANT TO SPECIFY A RANGE OF DATES, YOU CAN DO THAT HERE
-- This is the "From" date:
-- WHERE event_1.timestamp_first >= '2020-12-01'
-- This is the "To" date:
-- AND event_1.timestamp_first <= '2020-12-03'
GROUP BY 1
ORDER BY 1 ASC
2단계: 비콘으로 당신이 가장 좋아하는 슬랙 채널의 누두를 공유합니다!
installed BeaconSlack 작업구역에 들어가 데이터베이스에 연결하면
IF YOU WANT TO SPECIFY A RANGE OF DATES, YOU CAN DO THAT HERE
만 입력하고 SQL 조회를 입력하고 enter 키를 누르면 된다.
3단계: 팀의 다른 구성원들이 사용할 수 있도록 조회를 저장합니다!
Slack에서 조회를 발표하면
/run-query
를 클릭하여 이벤트 누두의 SQL 조회를 팀의 다른 모든 사람에게 제공할 수 있습니다!
이렇게!
질문이나 피드백이 있으면 언제든지 전화 [email protected] 로 저에게 메시지를 남기고 Beacon 로 가십시오. 그러면 당신의 팀과 당신의 아름다운 새로운 활동 누두를 직접 공유할 수 있습니다.😊
Reference
이 문제에 관하여(SQL 쿼리는 데이터 사용을 시작할 때 알고 싶습니다.제1부분: 활동 파이프.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/turinglovesdeathmetal/sql-queries-i-wish-i-d-known-when-i-started-in-data-part-1-the-event-funnel-5501텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)