⚓ DATT 14 - Gamification 시스템과 사용자 성장 구조 설계
개요
현재 DATT는 다음 기능들을 제공한다.
1
2
3
4
5
6
장소 검색
Nearby Search
Bookmark
Place 리뷰/평점
Anchor 추천 시스템
Anchor 좋아요 시스템
하지만 현재 상태는 아직:
1
"기능 사용"
중심에 가깝다.
즉:
1
2
3
검색하고
저장하고
리뷰 남기는 수준
이다.
하지만 DATT가 지향하는 방향은 단순 검색 서비스가 아니다.
오히려:
1
2
3
4
탐험
기록
경험 축적
성장
등의 흐름에 더 가깝다.
따라서 이번 단계에서는:
1
Gamification 기반 사용자 성장 시스템
을 설계하였다.
핵심 목표는:
1
2
사용자를 단순 소비자가 아니라
탐험가처럼 성장하게 만드는 것
이다.
왜 성장 시스템이 필요한가
대부분의 서비스는 결국:
1
리텐션(Retention)
문제를 마주한다.
즉:
1
2
사용자가 한 번 쓰고 떠나는가?
계속 돌아오는가?
의 문제다.
단순 장소 탐색은 쉽게 질린다
예를 들어:
1
2
3
맛집 검색
카페 검색
장소 저장
정도만 제공하는 서비스는:
1
대체제가 매우 많다.
즉 사용자는:
1
2
3
네이버 지도
카카오맵
망고플레이트
등으로도 충분하다.
DATT가 가져가야 하는 방향
DATT는 단순 검색보다:
1
"탐험 경험"
을 강화하는 방향이 더 맞다.
예:
1
2
3
성수 데이트 코스 탐험
홍대 술집 탐험
강릉 여행 Anchor 생성
등.
즉:
1
사용자 활동 자체를 경험으로 만든다.
가 핵심이다.
그래서 Gamification을 도입했다
이번 단계에서는:
1
2
3
4
5
6
경험치
레벨
업적
칭호
활동 로그
프로필 성장 데이터
구조를 설계하였다.
사용자 활동 데이터 모델링
Gamification의 핵심은:
1
사용자 행동을 데이터로 보는 것
이다.
예:
1
2
3
4
장소 저장
리뷰 작성
Anchor 생성
좋아요 획득
등.
이 활동들은 단순 기능 사용이 아니라:
1
사용자 경험 데이터
가 된다.
경험치 정책 설계
사용자 활동은 다음 기준으로 경험치를 지급한다.
| 활동 | 경험치 |
|---|---|
| Bookmark 추가 | +5 |
| Place 리뷰 작성 | +15 |
| Anchor 생성 | +30 |
| Anchor 좋아요 획득 | +10 |
| 인기 Anchor 등록 | +50 |
왜 활동마다 차등 보상을 주는가
모든 활동의 가치가 동일하지 않기 때문이다.
예:
1
Bookmark
는 가벼운 행동이다.
반면:
1
2
리뷰 작성
Anchor 생성
은 훨씬 높은 참여 행동이다.
즉:
1
서비스 기여도에 따라 보상을 다르게 준다.
가 핵심이다.
ActivityType 설계
경험치 정책은 Enum 기반으로 관리한다.
1
2
3
4
5
6
7
8
public enum ActivityType {
BOOKMARK_ADD,
PLACE_REVIEW_CREATE,
ANCHOR_CREATE,
ANCHOR_LIKE_RECEIVED,
POPULAR_ANCHOR_SELECTED
}
이 구조의 장점은:
1
2
3
활동 이벤트 표준화
경험치 정책 중앙 관리
확장 용이성
이다.
MemberActivityLog 설계
사용자 활동은 모두 로그로 저장한다.
1
MemberActivityLog
구조를 통해:
1
2
3
누가
어떤 활동으로
몇 경험치를 얻었는가
를 기록한다.
왜 활동 로그가 중요한가
현재는 단순 기록처럼 보이지만 이후:
1
2
3
4
분석
추천
랭킹
보상 정책
의 핵심 데이터가 된다.
예:
1
2
3
가장 활동량 높은 사용자
Anchor 생성 빈도
리뷰 활동 패턴
등.
즉:
1
2
3
활동 로그
=
서비스 행동 데이터
이다.
레벨 시스템 설계 전략
현재 레벨 정책은 단순하다.
1
2
3
0 ~ 99 exp = Lv.1
100 ~ 199 exp = Lv.2
200 ~ 299 exp = Lv.3
즉:
1
100 경험치당 1레벨 증가
이다.
왜 단순 선형 구조로 시작했는가
처음부터:
1
복잡한 성장 곡선
을 만들면 운영 난이도가 급격히 올라간다.
예:
1
2
3
지수 성장
구간별 보정
레벨별 보상 테이블
등.
현재 MVP에서는:
1
직관적이고 단순한 성장 구조
가 더 중요하다.
레벨 시스템의 핵심 역할
레벨 시스템의 진짜 역할은:
1
사용자 성장 시각화
이다.
즉:
1
내가 얼마나 활동했는가
를 보여준다.
예:
1
2
Lv.2 Local Hunter
Lv.10 Anchor Master
같은 느낌.
왜 수집형 칭호 시스템으로 변경했는가
처음에는:
1
레벨 기반 단일 칭호
를 고려했다.
예:
1
Lv.5 = Local Hunter
하지만 이 방식은:
1
2
3
개성
수집 요소
활동 다양성
이 부족하다.
DATT에는 수집형 칭호가 더 어울린다
DATT는:
1
2
3
지역 탐험
경험 기록
Anchor 생성
기반 서비스다.
즉:
1
사용자의 활동 성향
을 보여주는 게 더 중요하다.
예:
1
2
3
4
성수 마스터
데이트 플래너
카페 탐험가
로컬 헌터
등.
그래서 Title / MemberTitle 구조를 도입했다
최종 구조는:
1
2
3
4
5
Title
→ 칭호 마스터
MemberTitle
→ 사용자가 보유한 칭호
이다.
그리고:
1
selected
필드로 대표 칭호를 관리한다.
왜 대표 칭호를 따로 두는가
사용자는 여러 칭호를 가질 수 있지만:
1
프로필 대표 노출
은 하나만 하는 게 UX상 더 깔끔하다.
즉:
1
보유 칭호 ≠ 대표 칭호
이다.
업적(Achievement) 시스템 설계
업적 시스템도 최소 구조로 도입하였다.
구조는 다음과 같다.
1
2
Achievement
MemberAchievement
현재 MVP 업적 예시
1
2
3
4
첫 Bookmark 생성
첫 리뷰 작성
첫 Anchor 생성
첫 Anchor 좋아요 획득
왜 업적이 중요한가
업적은:
1
2
3
수집 욕구
달성 욕구
활동 동기
를 자극한다.
특히:
1
사용자 활동 유지
에 매우 강력하다.
프로필 성장 정보 확장
현재 프로필에는 다음 정보가 포함된다.
1
2
3
4
5
레벨
경험치
대표 칭호
업적 개수
활동 통계
그리고:
1
2
최근 Anchor
최근 리뷰
등도 함께 노출한다.
왜 활동 데이터를 프로필에 노출하는가
단순 계정 정보보다:
1
"이 사용자가 어떤 탐험가인가"
를 보여주는 것이 중요하기 때문이다.
예:
1
2
3
리뷰 많이 남기는 사용자
Anchor 생성이 활발한 사용자
좋아요를 많이 받은 사용자
등.
즉:
1
프로필 자체를 활동 기록으로 본다.
경험 탐색 플랫폼과 리텐션 전략
현재 DATT는 단순 장소 검색보다:
1
경험 탐색 플랫폼
에 가깝다.
핵심은:
1
2
3
4
5
탐험
→ 기록
→ 성장
→ 수집
→ 반복 활동
흐름을 만드는 것이다.
리텐션의 핵심은 행동 이유다
사용자는:
1
이유가 있어야 돌아온다.
예:
1
2
3
4
새 칭호 획득
레벨업
업적 달성
Anchor 좋아요 확인
등.
즉:
1
2
3
성장 구조
=
재방문 이유
가 된다.
현재 단계에서 의도적으로 제외한 것들
이번 단계에서는 다음 기능은 구현하지 않았다.
1
2
3
4
실시간 시즌 랭킹
친구 시스템
실시간 이벤트
WebSocket 알림
이유는 단순하다.
현재 중요한 것은:
1
MVP 수준 성장 구조 기반 구축
이기 때문이다.
앞으로의 확장 방향
향후 다음 방향으로 확장 가능하다.
1. 시즌제 랭킹
예:
1
2
주간 탐험가 랭킹
지역별 활동 랭킹
2. 업적 조건 엔진
예:
1
2
리뷰 50개 달성
성수 Anchor 10개 생성
3. 이벤트 시스템
예:
1
2
주말 탐험 이벤트
특정 지역 경험치 보너스
4. 친구/팔로우 시스템
예:
1
다른 탐험가 활동 구독
마무리
이번 단계에서는:
1
2
3
4
5
6
경험치
레벨
칭호
업적
활동 로그
프로필 성장 데이터
기반을 구축하였다.
핵심은:
1
"사용자 활동 자체를 성장 데이터로 본다"
는 것이다.
DATT는 앞으로:
1
2
3
4
탐험
기록
성장
경험 축적
을 중심으로 한 플랫폼으로 발전할 예정이다.