본문 바로가기
데이터리터러시

지표에 대하여(종류, 정의 프로세스, Metric Store)

by 데분노트 2025. 3. 19.

현업 프로젝트에서 지표를 활용할 수 있게 정리한 글이다. 이 전 글인 문제정의 파트와 함께 보면 좋다. 인프런의 [카일스쿨] PM을 위한 데이터 리터러시(프로덕트 데이터 분석) 강의를 참고하였다.

 

목차

1. 좋은 지표의 조건

2. 지표의 종류

3. 프로젝트 성공과 관련된 지표

4. 지표 정의 Process

5. 지표 활용 가이드

6. Metric Store

 

좋은 지표의 조건

  • Objective:  업무의 목적과 관련된 지표
  • Measureable: 측정 가능한 지표
  • Actionable한 지표: 지표를 토대로 행동을 할 수 있는 지표
  • Understand: 누구나 이해할 수 있는 지표
  • Specific: 정의를 명확하게 한 지표
    •  다양한 관점으로 해석되지 않는 지표

 

지표의 종류

Input Metric

  • Output Metrice을 구성하는 Input Metric
  • Input Metric의 개선으로 Output Metric도 개선됨
  • 이 지표를 기준으로 Action을 할 수 있어야함.

Output Metric

  • 어떤 것의 결과가 되는 지표
  • 매출, DAU 등
  • 광범위하며 비즈니스의 장기 목표를 설정할 때 유용함
  • 어떤 것이 원인인지 파악하기 어려움

 

프로젝트 성공과 관련된 지표

성공 지표(Success Metric, Primary Metric)

  • 프로젝트의 성공을 증명할 수 있는 지표
  • 1~2개가 적당

보조 지표(Sub Metric, Secondary Metric)

  • 성공 지표를 보조할 수 있는 지표

가드레일 지표(Guardrail Metric)

  • 떨어지면 안되는 지표
  • 서비스에 악영향을 주었는지를 파악하는 지표

가드레일 지표는 예를 들면 일자별 평균 매출, API 요청 후에 지연 시간이 얼마나 되는지 등을 설정할 수 있다.

 

지표 정의 Process

 

지표 활용 가이드

1) 현황 파악: 우리 서비스는 어떤 상황인가?

  • DAU, WAU, MAU
  • Retention, 재사용 주기

2) 지표의 정의 확립하기 & 지표 저장소(Metric Store) 만들기

  • 같은 지표는 재활용되면서 가치가 생김
  • 같은 이름이지만 다른 의미인 경우가 많음

3) 중요한 지표 파악하기

  • Output 지표가 아닌 Input 지표 발굴하기
  • 조직 전체의 목표와 속한 조직의 목표 맞추기

4) 지표 기반 Action 하기

  • 지표 회의 진행하기
  • 지표 기반으로 Action하고 실험하기

 

Metric Store

자주 사용하는 지표의 정의는 모아두면 유용 - 사람마다 다른 정의를 하지 않을 수 있음 => 지표 패턴화

Metric Store Saas인 Transform을 이용하는 것도 방법. 처음엔 노션, 스프레드시트에 기록하며 시작.

 

예시

Metric Metric Owner Category Dimension 설명 쿼리
퍼널 전환율 데분노트 Product Daily 페이지를 넘어가는 비율.
(첫 페이지에 도달한 세션 수/그 중 두 번째 페이지에 도달한 세션 수)

screen_view 이벤트의 firebase_screen 매개변수로 필터링 하여 페이지를 구분.
쿼리

 

쿼리

WITH session_funnel AS (
    SELECT 
        DATE(event_time) AS event_date,
        session_id,
        MAX(CASE WHEN event_name = 'screen_view' 
        	AND firebase_screen = 'page_A' 
        	THEN 1 ELSE 0 END) AS has_page_A,
        MAX(CASE WHEN event_name = 'screen_view' 
        	AND firebase_screen = 'page_B' 
        	THEN 1 ELSE 0 END) AS has_page_B
    FROM user_events
    GROUP BY event_date, session_id
)
SELECT 
    event_date,
    ROUND(100.0 * COUNT(CASE WHEN has_page_A = 1 
    				AND has_page_B = 1 THEN session_id END) 
          / NULLIF(COUNT(CASE WHEN has_page_A = 1 
          			THEN session_id END), 0), 2) 
                              AS funnel_conversion_rate
FROM session_funnel
GROUP BY event_date
ORDER BY event_date;

 

 

함께 보면 좋은 글

 

댓글