비즈니스 문제 해결 능력
예) 유튜브에서는 사용자의 전체 시청 시간을 KPI로 보고 이를 최대화 할 수 있도록 서비스가 설계되어있음 -> 시청 시간이 KPI이기에 사용자가 마지막 까지 시청할 수 있도록 동영상을 추천해야함
- 원래 유튜브에서는 시청 동영상수가 KPI로 해서 진행했지만 섬네일 이미지가 매력적인 동영상만 추천되는 문제가 발생하여 변경하였음
데이터 사이언스 능력
비즈니스 목표를 달성하기 위해 이상적인 추천 시스템을 실제로 구현 가능한 추천 시스템으로 만들어내는 과정에서 데이터 사이언스 능력이 필요
한번에 이상적인 추천 시스템을 만드는 것이 아니라 우선 전통적인 방법을 사용해 얼마큼의 정확도가 나오는지 확인하고 이상과 현실의 차이가 너무 크지 않은지 검토하여 적정 비즈니스 관련 부서와 커뮤니케이션 하는 것이 중요
구체적인 스킬 : 파이썬, SQL
인기 상품 및 신규 상품을 추천하는 단순한 추천 시스템의 경우 SQL 만으로 구축 가능
협조 필터링이나 콘텐츠 기반의 추천 알고리즘의 경우 오픈 소스 소프트웨어로 공개된 것을 통하여 만들 수 있다.
범용적인 추천 알고리즘에서 아이템이나 사용자 정보를 충분히 고려할 수 없을 경우, 독자적으로 정식화한 추천 알고리즘을 검토하고 그것을 코드로 만들어야함
데이터 엔지니어링 능력
'매출을 2배로 올리고 싶다', '회원을 2배로 늘리고 싶다' 와 같은 비즈니스상의 목적을 명확히 해야 한다.
조금 더 세세하게 비즈니스 지표를 설정하고 KPI의 목표와 현재의 차이를 확인한 뒤 현재 자사 사이트의 과제를 정리하고 적절한 조치를 검토한다.
예) 아마존과 같은 전자상거래 사이트에서 1개월 매출을 2배로 만들기 위해 1인당 매출을 KPI로 하고, 그것을 2배로 늘리는 목표를 결정했다고 가정 -> 1인당 매출을 2배로 만들기 위해서 어디를 늘릴 수 있는 지 분석한다.
분석에는 데이터를 사용해 분석하는 정량적 방법과 사용자와 인터뷰 하는 정성적 방법이 존재
정량적 분석
- 웹 사이트 사용자의 행동 로그 데이터를 분석함으로써 '애초에 검색한 사용자가 적다', '검색하는 사용자는 많지만 최고 검색 결과 페이지에서 이탈하고 만다'와 같이 현재 상태의 과제를 알 수 있다.
- '최초 검색 결과 페이지에서 이탈하는가'와 같은 이유에 대해서는 데이터로 조사하는 것보다 직접 사용자에게 물어봤을 때 시사점을 알 수 있는 경우가 많다.
사용자 인터뷰
- '검색 결과 화면에서각 아이템의 타이틀만 표시되어 아이템을 일일이 클릭해 확인하기 어려웠다.'처럼 로그만으로는 알 수 없는 잠재적인 사용자의 심리 상태에 관한 인사이트를 얻을 수 있다.
| 과제 | 중요도 |
|---|---|
| 어떤 단어로 검색해야 좋을 지 모르겠다 | 2 |
| 검색 결과 화면의 각 아이템 정보가 충분하지 않다 | 3 |
| 검색 결과 화면에 아이템이 너무 많이 표시되어 원하는 아이템에 도달하기 어렵다 | 4 |
| 각 아이템의 상세 화면에서 해당 아이템과 비슷한 아이템을 알 수 없다 | 4 |
| 과제 | 대응책 | 중요도 | 비용 | 우선 순위 |
|---|---|---|---|---|
| 어떤 단어로 검색해야 하는지 알 수 없다 | 단어 제안 기능을 구현하지 못한다 | 2 | 보통 | 낮음 |
| 어떤 단어로 검색해야 하는지 알 수 없다 | 검색 단어의 예를 몇 가지 표시해둔다 | 2 | 작음 | 낮음 |
| 검색 결과 화면에 각 아이템의정보가 충분하지 않다 | 검색 결과 화면에 각 아이템의정보를 충분히 나타낸다. | 3 | 작음 | 보통 |
| 검색 결과 화면에 너무 많이 아이템이 표시돼 원하는 아이템에 도달할 수 없다 | 검색 결과를 선호하는 순으로 정렬한다 | 4 | 작음 | 높음 |
| 각 아이템의 상세 화면에서 그 아이템과 비슷한 아이템을 알 수 없다 | 각 아이템의 상세 화면에 비슷한 아이템을 추천하는 기능을 붙인다 | 4 | 보통~큼 | 보통 |
검색 결과에 너무 많은 아이템이 있어 원하는 아이템에 도달할 수 없는 과제의 경우 인기순이나 가격수능로 정렬할 수 있는 기능을 추가하는 것만으로도 사용자가 원하는 아이템을 쉽게 찾을 수 있어 이탈률을 낮출 수 있다.
이 경우에는 먼저 검색과 관련된 구현 비용이 낮고 중요도가 높은 과제를 해결한 뒤 추천 시스템을 다루는 것이 효과적이다.
이처럼 추천 시스템을 도입하는 것보다 비용이 낮은 다른 방법으로 비즈니스 목표를 해결할 수 있다면 그 방법을 먼저 검토하는 것이 좋다.
특히, 검색 시스템의 기능을 개선하는 것이 비용 대비 효과가 좋기에 검색 기능을 확장하는 방법 또한 검토하는 것이 좋다.
실제 비즈니스 현장에서는 상부의 명령으로 추천 시스템 도입이 결정 사항으로 내려오기도 한다.
하지만, 현재 상태의 과제에서 비용 대비 효과가 좋은 방법을 찾았고 실제로 검색 시스템을 개선하여 클릭률이나 전환율을 높이는 경우가 많았다.
추천 시스템 개발에 필요한 데이터는 주로 다음 2종류 이다.
1. 사용자와 아이템의 콘텐츠 정보
사용자 정보는 나이, 성별 등 프로필 정보와 어떤 장르의 아이템을 좋아하는가 하는 기호도 정보이다.
아이템 정보는 아이템 설명문이나 태그, 카테고리, 등록일 등의 정보이다.
사용자와 아이템의 인터랙션은 열람, 북마크, 구입, 시청 평가 등의 정보이다.
서비스 초기 단계에서는 인터랙션 데이터가 없는 경우가 많으므로 우선 아이템 정보를 사용한 추천 시스템을 먼저 구축하는 것을 검토해볼 필요가 있음
추천 시스템의 학습과 튜닝을 수행하고 실제 서비스로 출시하기 전에 과거 데이터를 사용하여 추천 시스템의 좋고 나쁨을 검증하낟.
추천 시스템의 정확도를 검증할 때는 Recall, Precision과 같은 머신 러닝 지표도 중요하지만 구체적으로 이 아이템을 넣으면 어떤 아이템이 나오는지 확인하고 그 결과가 납득 되는지 확인해야 한다.
데이터 편향 에 주의해야함
- 아마존의 별 5개 평가 데이터에는 별 1개에서 5개의 평가값이 균등하게 존재하는 것이아니고 별 5개가 많다는 편향이 존재.
- 검색 엔진의 영향을 받은 편향도 있다. 검색 결과 상위에 나타나는 것은 클릭하기 쉽고 하위에 있는 것은 클릭하기 어렵다
- 이러한 편향들을 제거한 후 추천 시스템을 만들어서 평가해야 함
배치 추천
실시간 추천