(데이터 분석) DAU 시계열 추세 분석
DAU 시계열 추세 분석을 해보자.
2025-09-01부터 2025-12-01까지 DAU와 7일 이동평균 DAU가 있다.
이 차트를 보고 트래픽이 견조한지, 운영상 이슈는 없었는지 , 앞으로의 과제는 무엇이며
어떻게 개선할 수 있을지 종합적으로 살펴보자. ( 샘플 데이터 이용 )
차트 분석을 먼저 진행하고 이를 기반으로 최종 보고서를 작성하는 것으로 포스팅을 구성한다.
Q1. 추세(Trend): 7D MA 기준으로 전체 기간(약 9~11월) DAU는 상승/하락/횡보 중 무엇인가?
A1.
전체 기간 상승중이다. DAU 기준 , 9월 초 11만명 후반대에서 11월 말 12만명 후반대까지 약 만명의
AU가 증가하였다. ( 약 10% 증가 ) 7D MA 차트로 보면 더 명확하게 전체 기간 상승중임을 알 수 있다.
다만 11월 15일의 급격한 수치 하락으로 7D MA가 크게 감소하는데 DAU로 봤을때는 다음날부터 정상 AU 수준을 회복한다.
이동평균은 노이즈를 줄이는 대신 윈도우 때문에 충격이 며칠간 남는 특성이 있다.
이동평균을 볼때 DAU를 보조 지표로 같이 봐야겠다.
Q2. 계절성(Seasonality): 요일 패턴이 보이는가? 어떤 요일이 강하고 약한가?
A2.
2번째 차트 (Average DAU by Day of Week)를 봤을때 주말에 트래픽이 빠지는것을 알수있다.
거의 모든 주간에서 주말에 트래픽이 빠졌다가 주중에 회복되는 경향을 보인다.
주말에 트래픽이 빠지는 것이 유사한 수준으로 주기성을 보이는지 체크해봐야한다.
주기성있게 주말에 유사한 수준의 트래픽이 빠지는 것이라면 정상 패턴으로 고려할 수 있다.
Weekly weekday vs weekend 차트를 통해 주말도 우상향하고있는지 보면 주말이 문제인지
정상 패턴인지 구분할 수 있다.
Q3. 이상치(Anomaly): 그래프에서 비정상적으로 튀는 날이 보이는가?
그 날짜 전후로 어떤 형태(급락/급등/회복)를 보이는가?
A3.
2025-10-10 , 2025-11-15 이 두지점이 눈에 띈다.
먼저 2025-10-10일(금요일)은 9월부터 10월중 유일하게 DAU 14만명을 찍었다.
주말을 제외하고 평일중 전일 대비 가장 많이 증가한 날이다.
직전 금요일 (10/03) 대비해서도 6.75% 증가하였다.
다만 바로 다음날 트래픽이 빠져서 증가를 유지하진 못했다.
2025-11-15은 최저 트래픽을 기록한 날이며 전일 대비 가장 많이 감소한날이다.
평소에도 주말에 하락폭을 보이긴하지만 가장 큰 폭으로 트래픽이 감소하였다.
전일 대비 약 5만명이 빠졌는데 이는 35.2% 감소한 수치이다.
직전 토요일 (11/08) 대비로는 -26.6% 감소, 토요일 평균 (약 115,692명) 대비로 봐도 꽤 이례적으로 감소한 수치이다.
전일 대비와 함께 동요일 대비도 같이봐야 증감 효과를 명확하게 파악할 수 있다.
전일 대비로만 볼 경우 주말 효과가 섞일 수 있다. ( ex. 금->토 )
장시간 점검이 있었을 가능성이 높다.(접속 불가)
로그인 실패/서버 에러율/크래시율/점검 공지 시간대 매칭을 통해 큰 이슈는 아닐지 체크해봐야한다.
추가로 잔차에서 이상치를 잡는 STL decomposition 같은 방법을 쓰면
요일 효과를 깔끔히 걷어내고 이상치를 판단할 수 있다.
STL(Seasonal-Trend decomposition using LOESS) decomposition :
시계열 데이터를 관측치 = 추세(Trend) + 시즌(Seasonal) + 잔차(Residual) 로 분해하는 방법.
주간(요일)처럼 강한 주기 패턴이 있을 때, 주기성을 걷어내고도 남는 설명되지 않는 충격(Residual)을
분리해 이상치를 더 공정하게 잡는 데 유용.
Q4. 운영 관점 가설과 액션 플랜을 제시하라: 예: 이벤트/마케팅, 점검/장애, 콘텐츠 업데이트, 외부 이슈(연휴 등) 와 다음 액션(데이터 추가 확인)
A4. 주말 트래픽 하락을 보완하는 것이 가장 큰 과제이다. 트래픽 하락의 유형을 먼저 나눠서 살펴본 후
다른 지표에 영향은 없었는지 이를 끌어올리려면 어떻게 해야할지 살펴보자.
- DAU를 신규/복귀/기존(연속) 활성으로 분해 (주말에 무엇이 빠지는지 바로 보임)
- 리텐션/코호트: 주말 포함 코호트 vs 주말 제외 코호트 비교 (주말이 이탈 트리거인지 확인)
- 세션/플레이타임/핵심행동(던전 클리어, 매칭, 결제 등) 동반 하락 여부
=> 주말에 빠지는 유저층이 누군지 규명하고 이 유저들이 주말에도 접속하게 만드는 방법을 찾자.
ex)
CASE 1) 평일에 신규 유저가 가입하고 주말에 바로 빠짐. 신규 유저는 지속 증가
=> 신규 유저들이 이탈하지않도록 보상 설계 : ex) 14일 연속 출석 이벤트. 주말마다 큰 보상
CASE 2) 복귀 유저가 바로 이탈하고 새로운 복귀 유저 들어오는 회전문 형태의 유입
=> 복귀 유저 잔존하도록 이벤트 설계 ex) 연속 리텐션 보상 확대
CASE 3) 평일에 복귀했던 유저가 주말에 빠졌다가 평일에 다시 들어오는지 ( 평일 컨텐츠만 즐김 )
=> 평일에만 플레이하는 유저가 주말에도 플레이하도록 만들기 ex) 평일 던전 -> 주말 던전으로 확장
1. 목적 & 지표 정의
- 목적
- 9~11월 DAU의 추세 확인
- 요일 효과 정량화 ( seasonality )
- 이상치(급등/급락)를 요일 효과와 분리해 탐지하고 운영 액션으로 연결
- 지표 정의
- DAU : 특정 날짜에 앱/서비스에 활동한 고유 사용자 수
- 7D Moving Average(7D MA): 단기 변동을 완화해 추세를 더 잘 보이게 하는 스무딩 기법
2. 핵심 KPI 요약
- 전체 추세 : 7D MA 기준 +15.7% 상승 (기간 초반 ≈ 118,930 → 기간 말 ≈ 137,626)
- 요일 효과 (주말 효과) :
- 평일 평균(Mon–Fri) ≈ 131,921
- 주말 평균(Sat–Sun) ≈ 116,028
- 주말/평일 비율 ≈ 0.880 → 주말이 평일 대비 약 12% 낮음
- 평일 평균(Mon–Fri) ≈ 131,921
- 주요 이상치 후보(시각화에서 점으로 표시)
- 2025-10-10 급등
- 2025-11-15 급락(최저치)
- 2025-10-10 급등
3. 시각화 기반 인사이트
- 추세(Trend) : 상승
- 7D MA와 STL Trend 모두 완만한 우상향.
- 운영 해석: 기본 체력(베이스)이 상승 중이므로, 단기 변동(요일/이벤트/장애)을 분리해 관리하면 성장 해석이 깔끔해짐.
- 7D MA와 STL Trend 모두 완만한 우상향.
- 주기성 (Seasonality) : 주말 약세가 구조적으로 반복
- 요일 패턴이 반복되며, 주말에 일관되게 떨어졌다가 주중에 회복.
- 운영 해석: “주말 하락”이 정상 패턴 범위인지, 혹은 최근에 더 약해지는지(악화)가 핵심 포인트
- 요일 패턴이 반복되며, 주말에 일관되게 떨어졌다가 주중에 회복.
- 이상치(Anomaly) : STL decomposition 으로 요일 효과 제거 후 확인
- STL residual 차트에서 11/15는 매우 큰 음의 잔차(급락), 10/10은 양의 잔차(급등)로 관측.
- 주말이라 원래 낮다 같은 요일효과를 걷어낸 뒤에도 설명되지 않는 충격이 남아 이상치 가능성이 높음
- Residual z-score 기반 탐지(ㅣzㅣ ≥ 3)로 요일효과 제거 후에도 남는 충격을 이상치 후보로 표시
- STL residual 차트에서 11/15는 매우 큰 음의 잔차(급락), 10/10은 양의 잔차(급등)로 관측.
| 날짜 | DAU | 7D MA | STL Trend | STL Seasonal | STL Residual | z |
|---|---|---|---|---|---|---|
| 2025-10-10 | 141,321 | 125,998 | 125,338 | +2,458 | +13,525 | +3.26 |
| 2025-11-15 | 92,118 | 130,686 | 136,530 | -10,007 | -34,405 | -7.99 |
STL(Seasonal-Trend decomposition using LOESS) decomposition :
시계열 데이터를 관측치 = 추세(Trend) + 시즌(Seasonal) + 잔차(Residual) 로 분해하는 방법.
주간(요일)처럼 강한 주기 패턴이 있을 때, 주기성을 걷어내고도 남는 설명되지 않는 충격(Residual)을
분리해 이상치를 더 공정하게 잡는 데 유용.
적용 방식 (보고서 기준):
period=7(주간), robust=True로 분해
Residual z-score(|z|≥3)를 이상치 후보로 표기 (차트 점 표시)
4. 운영 관점 가설
- 2025-11-15 급락: 장애/점검/로그 누락/집계 파이프라인 이슈 가능성
- 근거: 요일 효과를 제거한 STL residual에서도 큰 감소가 보임 (설명 불가 하락)
- 근거: 요일 효과를 제거한 STL residual에서도 큰 감소가 보임 (설명 불가 하락)
- 2025-10-10 급등: UA/프로모션/대형 업데이트/외부 노출로 인한 단기 유입 급증 가능
- 근거: 다음날 감소 (증가가 지속되지않음) → 일회성 드라이브 패턴
- 근거: 다음날 감소 (증가가 지속되지않음) → 일회성 드라이브 패턴
- 주말 약세 구조: 유저 구성(신규/복귀/기존) 중 특정 세그먼트가 주말에 더 크게 빠지는 구조 가능
5. 권장 액션
- 원인 규명: 주말에 누가 빠지는가?를 먼저 분해
- DAU 구성요소 분해: 신규 / 복귀 / 연속활성(기존)
- 코호트/리텐션: 주말 포함 코호트 vs 주말 미포함 코호트 비교
- 행동 동반지표: 세션수, 플레이타임, 핵심 콘텐츠 참여(던전/매칭), 결제/구매 시도
- DAU 구성요소 분해: 신규 / 복귀 / 연속활성(기존)
- 주말 트래픽 보완 액션 플랜
- CASE 1(신규 이탈): 주말에 연속 출석 보상 강화(주말 보상 가중)
- CASE 2(복귀 회전문): 복귀 후 3~7일 리텐션 미션(주말 포함 시 보상 업)
- CASE 3(평일형 유저): 평일 콘텐츠 → 주말 변형/확장 콘텐츠로 주말 접속 명분 제공
주의 사항: 주말 이벤트는 주말 DAU/주말 잔존/주말 ARPPU/세션당 플레이타임을 함께 보며, 평일 지표 악화(피로도) 없는지 체크
- CASE 1(신규 이탈): 주말에 연속 출석 보상 강화(주말 보상 가중)
- 이상치 대응 (ex. 11/15)
- STL residual 기반 자동 알람 룰 (예: ㅣzㅣ≥3) + 장애 지표(로그인 실패/에러율/결제 실패) 연동
- 다음날 회복했으니 OK가 아니라 매출/환불/이탈 후행 영향이 남는지 반드시 체크
- STL residual 기반 자동 알람 룰 (예: ㅣzㅣ≥3) + 장애 지표(로그인 실패/에러율/결제 실패) 연동
6. 후속 분석
- 주말 트래픽 감소의 세그먼트 원인(신규/복귀/기존) 확인
- 10/10, 11/15의 운영 로그/캠페인 캘린더 매칭하여 원인 확인
- 주말 보완 실험 1개 실행 → 주말/평일 모두 KPI 증가하는지 확인