데이터 수집 세부 설명
- Riot Games는 Riot API를 통해 리그오브레전드와 관련한 다양한 데이터를 제공합니다.
- 챔피언 듀오 승률, 챔피언 승률, 스펠 데이터를 분석하기 위해서는 한 소환사가 플레이한 게임 1개의 로우데이터를 반복적으로 수집해야 합니다.
- Carryduo의 데이터 분석 기준에 따르면, 플래티넘과 다이아 랭크에 소속된 모든 소환사들이 플레이한 모든 게임 로우데이터들을 수집해야하는 것입니다.
- Riot API를 통해 한 소환사의 리그오브레전드 게임 로우데이터 1개를 수집/분석하기 위해 요구되는 절차는 다음과 같습니다. 각 절차 모두 Riot API와의 통신을 요구합니다.
- 특정 랭크와 티어에 소속된 소환사들의 고유 ID값 조회(summonerId)
- summonerId로 개별 소환사의 게임 데이터를 조회하기 위한 key값 조회(puuId)
- puuId로 개별 소환사의 게임 로우데이터 고유 ID값 조회(matchId)
- matchId로 게임 로우데이터 조회
데이터 분석 세부 설명
로우데이터 샘플
- 아래 샘플은 로우데이터 일부를 발췌한 것입니다.
- 리그오브레전드 게임 로우데이터 샘플 코드스니펫
챔피언 듀오 승률 분석 방식
위와 같이 챔피언 듀오 승률 티어리스트를 추출하기 위해서는 다음과 같은 과정을 거칩니다.
- 게임 로우데이터에서 게임에 참여한 10개 챔피언들의 고유 Id, 포지션, 승/패 여부에 대한 값을 추출합니다.
- 추출한 데이터를 포지션 카테고리에 따라 묶고, 다음과 같이 DB에 저장하고 승률과 티어를 가공합니다.
챔피언 승률/ 벤률/ 픽률/ 선호 포지션, 스펠 데이터 분석 방식
위와 같은 챔피언 승률/벤율/픽률/선호 포지션 그리고 스펠 데이터를 추출하기 위해서는 다음과 같은 과정을 거칩니다.
챔피언 승률/ 벤률/ 픽률/ 선호 포지션
- 게임 로우데이터에서 게임에 참여한 10개 챔피언들의 고유 Id, 승/패, 벤처리된 챔피언의 고유Id, 포지션에 대한 값을 추출합니다
- 필요 데이터
- 승률 - 추출한 챔피언의 승/패 데이터, 게임 플레이 표본 수
- 벤률 - 챔피언의 벤 처리된 횟수, 전체 게임 표본 수
- 픽률 - 챔피언의 게임 플레이 표본 수, 전체 게임 표본 수
- 선호 포지션 - 플레이 한 챔피언의 포지션 데이터, 게임 플레이 표본 수게임 로우데이터에서 게임에 참여한 10개 챔피언들의 고유 Id, 승/패, 벤처리된 챔피언의 고유Id, 포지션에 대한 값을 추출합니다
- 필요 데이터
챔피언별 스펠 통계 분석 방식
- 게임 로우데이터에서 게임에 참여한 10개 챔피언들의 고유Id, 스펠1,스펠2에 대한 스펠 Id 값을 추출합니다.
- 필요 데이터
- 스펠1 Id
- 스펠2 Id
- 1,2번에 대한 게임 플레이 표본 수
- 전체 게임 표본 수
- 필요 데이터
- 추출한 데이터를 연산을 통해 사용에 알맞은 데이터로 변환 합니다.
- 챔피언의 스펠1,스펠2 데이터가 3,4 또는 4,3은 사용자 입장에서 같은 데이터라고 판단되기에 두 데이터를 합쳐서 연산합니다.
데이터 관리 세부 설명
서비스 DB로 이관
- 안정적인 서비스 운영을 위해, DB를 서비스용과 데이터 분석용으로 분리했습니다.
Outdated한 데이터 관리
- 분석이 완료된 데이터 중 분석이 잘못되거나 패치버전이 오래된 데이터는 주기적으로 폐기처분하여, DB 용량을 관리합니다.
'Project > Carryduo 데이터 분석 프로세스' 카테고리의 다른 글
Carryduo 데이터 분석 프로세스 의사결정 (0) | 2023.03.22 |
---|---|
Carryduo 데이터 분석 프로세스 개요 및 용어 설명 (0) | 2023.03.22 |