목록분류 전체보기 (82)
tak's data blog
온라인 게임의 주요 이슈로는 이탈계정 방지, 가계정 문제, 어뷰징 등이 존재하는데요 이번 시간에는 어떤 한 유저의 재화가 비정상적으로 급격히 증가하거나 버그로 인해 쉽게 파악하기 힘든 게임 재화 이상 증감 탐지를 회귀 기반으로 해결해 나가는 주제로 포스팅을 진행하도록 하겠습니다!! 출처 : https://www.youtube.com/watch?v=GgCulQFe8U4&t=1685s 1. 게임 재화 이상 탐지 왜 필요할까? 게임 재화 증감 모니터링 1) 게임 경제 관점에서 게임 내에 재화량을 모니터링하는 것이 중요함 (피파4를 예로 들면 생성 제한 선수를 상한가로 걸어두고 부계정으로 그 선수를 사면서 돈을 옮겨 선수의 가격을 비이상적으로 늘리는 행위로 이득을 보는 경우가 있습니다. 이러한 문제로 게임 머니..
지난 듀토리얼 관련 포스팅에 이어서 이탈 예측과 그에 따른 유의사항에 대해서 포스팅을 진행해보도록 하겠습니다!! 출처 : https://www.youtube.com/watch?v=kcE_1n41xdk&t=3s 1) 이탈예측 이탈 예측이란? 유저가 계속 1) 유저로 남아 있을지 2) 이탈자로 남아 있을지 즉, 개별 생존확률(이탈확률)이 어떻게 되는지? 생존기간이 어떻게 되는지? 유저군의 잔존율은 어떻게 되는지? 라고 할 수 있습니다. 목적) 고객의 이탈을 방지하고 고객 생애 가치 (LTV), 투자 대비 수익 (ROI) 등을 정확히 계산하여 데이터 기반의 의사 결정에 일조하는 것이라고 합니다. 중요성) 신규 유저 유입 대비 기존 유저 유지의 비용이 작습니다. 또한 모바일 시대에는,1) 유저의 생존기간이 짧고..
안녕하세요, 2주만에 다시 포스팅을 올리게 됐습니다! 회사에서 인턴 프로젝트 중 하나로 게임 데이터 분석을 진행하고 있는데요, 그 중 유저의 이탈 정의와 여정에 관련된 과제를 해결하는 과정을 가지고 있습니다. 직접적으로 게임 로그데이터를 분석하는 것은 처음이라 게임을 다운로드해 플레이하며 재화의 이동과 게임UI를 먼저 공부하며 분석을 시작하였습니다. 하지만 유저의 이탈을 정의한다는 개념은 쉬우면서도 어려운 것 같았습니다. 저희에게 주어진 데이터는 몇개월치 밖에 되지 않아 이탈을 daily로 정의해야할지 week, month단위로 정의해야할지 감이 잘 오지 않았고, 다방면으로 정의를 하여 분석을 진행하는 수고를 하게되었습니다. 그 중 저는 기존유저 vs 신규유저를 나누어 우선 신규유저의 이탈 양상을 살펴보..
ACCM모델을 기본으로 저희는 리뷰와 이미지를 중점적으로 활용하기로 했습니다. 그래서 이미지를 크롤링 할 때 따로 json파일로 저장을 해두었고, 이번에는 저장한 주소를 활용해 이미지를 다운 받는 과정을 보여드리도록 하겠습니다!! 아래와 같이 json파일을 읽어오고 직전 review와 같이 하나의 지점을 기준으로 여러개의 이미지가 저장된 dictionary형태로 저장되어 있는것을 확인할 수 있습니다. 아래와 같은 함수를 짜서 image가 저장된 json_data의 key1을 각각 하나의 지점 ex) 양재역 스타벅스 등으로 지정하고, json_data[key1].keys() -> 즉 각각 한 명의user를 의미합니다. 그리고 image를 알아보기 쉽게 ex) 양재역 스타벅스_user.jpg 형태로 저장합니..
boaz에서 진행하는 카페 추천 프로젝트가 거의 막바지에 다다랐습니다. 7월10일 중간 발표를 진행하였고, 7월말에 마지막으로 최종 컨퍼런스로 1년간의 boaz활동을 마무리 할 것 같네요 후련하면서도 섭섭합니다 ㅠㅠ 이번 시간에는 여태 해왔던 크롤링 데이터를 데이터 프레임화, 전처리, 토큰화 까지 전처리 위주의 역할을 맡게 되었습니다. 우선 저희는 총 550여개의 역 (1~9호선, 분당,신분당 등등) 22,239개의 카페를 기준으로 데이터를 수집하였습니다. review를 ex) 혜화역 커피빈 1개의 지점당 달려있는 리뷰들을 각 user별로 json파일로 저장하여 수집하였습니다. kakao / google / naver 3 platform의 데이터를 크롤링 하였고, 아래는 google에 대해서만 데이터프레..
안녕하세요, 거의 3개월만에 포스팅을 하게 되었네요... 인턴을 진행하면서도 한달에 몇번은 꾸준하게 올리고자 다짐했지만 변명아닌 변명을 해보자면 학교수업과 동아리 활동까지 정신이없었네요 이번엔 좋은 기회에 4월1일부터 데이터사이언티스트 직무로 인턴을 하게 되었습니다. 원래 계약을 3개월로 두고 진행하였지만, 계약 기간 연장을 통해 우선 최대한 많은 것을 얻어가기로 하였습니다. 저는 양재시민의숲역에 있는 한 스타트업에 다니게 되었습니다. 원래 원하고자하는 목표가 있다면 그 주변을 먼저 가보거나 탐방(?) 해야한다고 들었습니다. 최종 목표인 판교로 입성하기 위해서 어느정도 근처에 위치하여서 한발자국 다가가지 않았나???라는 생각도 가볍게 해봅니다. 첫출근날 4월 벚꽃이 필 때 찍어두었던 사진입니다. 어느덧 ..
이번에 좋은 기회로 인턴을 하면서 여태 사용해보지 못했던 python과 sql을 연동하는 방법에 대해 배우게 되었습니다. 그 방법에 대해 간단하게 리뷰해보는 시간을 가지겠습니다. 파이썬을 외부 database와 연동을 해 확장시키려면 engine이 무조건 필요합니다. from sqlalchemy import create_engine import pandas as pd # db접속 engine 생성 # pyodbc engine = create_engine('mssql+pyodbc://scott:tiger@mydsn') # 기본적인 형태 engine = create_engine(dialect+driver://username:password@host:port/database) # 데이터 저장 test = pd..
이번에는 프로그래머스의 kakao 기출 문제에 대한 풀이를 적는 과정을 가지겠습니다. [프로그래머스] 괄호변환 문제 설명 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 수정해야 할 소스 파일이 너무 많아서 고민하던 "콘"은 소스 코드에 작성된 모든 괄호를 뽑아서 올바른 순서대로 배치된 괄호 문자열을 알려주는 프로그램을 다음과 같이 개발하려고 합니다. 용어의 정의 '(' 와 ')' 로만 이루어진 문자열이 있을 경우, '(' 의 개수와..