W8D1 과제에서는 고객 중심의 유저 스토리 기반으로 고객의 요구를 짐작해보고, 챌린저스의 개선점을 작성해봤다.
1️⃣ 챌린저스로 습관을 형성해 갓생을 살고 싶은 사용자는 홈 화면에서 개설된 챌린지를 먼저 확인하기를 원한다.➡️ 홈 화면 개선 2️⃣챌린저스로 만보기 포인트 혜택을 이용하는 사용자는 간소화된 절차로 포인트를 얻길 원한다.➡️ 만보기 광고 개선 3️⃣챌린저스에서 참여할 챌린지를 탐색하는 사용자는 빠르게 원하는 챌린지를 선택하고 참여하기를 원한다.➡️ 챌린지 추천 기능
프로덕트를 개발하고, 개선할 때는 수많은 이해관계자가 관여하겠지만, 이번 과제에서는 위 개선점과 관련된 이해관계자와 그들의 요구사항, 각 이해관계자의 요구를 해소하기 위해 유의해야 할 점을 알아보려고 한다.
내부 이해관계자
스크럼 팀 (디자이너, 개발자)
스크럼 팀은 함께 고객을 위한 프로덕트를 개발하거나 개선하는 팀이다. 프로덕트의 가치를 극대화하기 위해 노력한다.
스크럼 팀은 PO에게 정확히 무엇을 개발하고 개선해야하는지, 그리고 그 결과는 어떤지 알기를 원할 것이다.
PO는 스크럼 팀에게 요구사항을 전달할 때, 정확한 정보를 제공해 팀원들이 문제 해결에 집중할 수 있도록 도와야한다.
경영진 (C-Level)
경영진은 PO를 제품 성공에 대한 최종적인 책임과 의무가 있는 사람으로 인정하고 바라본다.
경영진은 PO에게 현재 개발 중인 상품의 상태 가시화, 최적화하기 위한 노력, 경영진의 지시 사항을 실행하기를 바랄 것이다.
PO는 경영진에게 개발 중인 상품의 상태, 최적화하기 위한 노력을 가시화 해서 보고하거나 필요하다면 설득해야 한다.
광고 담당자
챌린저스의 "만보기 광고 개선"이라는 개선점을 고려했을 때, 내부에 만보기 혜택 광고 담당자 역시 중요한 이해관계자가 될 것이라고 생각했다.
광고 담당자는 PO에게 구체적인 개선 방향을 요구할 것이다.
PO는 광고 담당자에게 개선 방향과 함께, 현재 광고에 대한 VOC를 전달해서 설득할 것이다.
외부 이해관계자
제휴 기업(광고주)
챌린저스의 "만보기 광고 개선"이라는 개선점에서, 만보기 혜택 광고에 광고를 넣고 있는 제휴 기업(광고주)이 있을 것이라고 생각했다.
제휴 기업(광고주)은 PO에게 당사의 효과적인 홍보를 위해 광고 노출 빈도수를 높일 것을 요구할 것이다.
PO는 제휴 기업(광고주)에게 현재 광고에 대한 VOC를 전달해서 광고 노출 빈도수를 조율할 것이다.
사람과 팀, 조직이 복잡한 문제에 대해 적응할 수 있는 해법을 활용하여 가치를 창출하도록 도와주는 경량 프레임워크
개발 방법론의 일종인 '애자일'의 대표 관리 프레임워크
스크럼 팀은 스크럼 마스터가 다음과 같이 조성한 환경에서 일한다.
프로덕트 오너는 복잡한 문제를 해결하기 위한 업무를 우선순위에 따라 프로덕트 백로그에 정렬한다.
스크럼 팀은 선택한 업무를 스프린트 동안 가치의 증가분(기존 프로덕트에 새로 더해지는 부분)으로 만들어 낸다.
스크럼 팀과 이해관계자들은 결과물을 점검하고 다음 스프린트를 위하여 조정 한다.
반복한다.
언뜻 보았을 때 칸반과 비슷해 보이지만, 칸반은 이슈를 가시화하고 구성원들의 업무량 조절에 초점을 둔 방법론이고, 스크럼은 하나의 정해진 목표를 향해 팀 전체가 달릴 수 있도록 상부상조하는 것을 강조하는 프레임워크이다.
스크럼 프레임워크에서 프로덕트 매니저의 역할
프로덕트 오너, 프로덕트 매니저는 스크럼 팀의 결과물인 프로덕트의 가치를 극대화하는 책임을 갖고, 프로덕트 백로그를 효과적으로 관리하는 것에도 책임이 있다. 구체적으로 표현하자면,
프로덕트 백로그를 관리, 작성하고 이해관리자로부터 요구사항을 차여 제품 백로그에 반영한다.
요구사항에 우선 순위를 매기고 각 스프린트마다 우선 순위를 관리, 조정한다.
여기서 프로덕트 백로그란, 제품에서 요구되는 기능의 우선 순위 목록이다.
프로덕트 오너, 프로덕트 매니저가 유저 스토리를 기반으로 프로덕트 백로그를 작성한다.
스프린트란?
위에 스크럼과 프로덕트 매니저의 역할에서 스프린트와 스프린트 백로그에 대한 내용을 서술했다. 그렇다면, 스프린트와 스프린트 백로그는 무엇일까?
스프린트는 '전력 질주'라는 뜻대로 팀원이 정해진 기간 동안 아이디어를 가치로 만들어 내는 이벤트이다. 주로 최소 1주에서 최대 4주의 짧은 주기를 가지며, 하나의 스프린트가 끝나면 바로 다음 스프린트가 시작된다. 스프린트 동안 스프린트 계획, 데일리 스크럼, 스프린트 리뷰, 스프린트 회고를 통해 프로덕트 목표를 달성하기 위한 업무를 수행한다. 스프린트 기간을 효과적으로 보내려면,
스프린트 목표 달성을 저해하는 변경을 하면 안된다.
품질을 떨어뜨리면 안된다.
필요한 수준까지 프로덕트 백로그를 정제해야 한다.
범위를 명확하게 하고 필요한 경우 프로덕트 오너와 다시 협상을 할 수 있다.
스프린트 계획은 해당 스프린트 동안 수행할 업무를 선정하는 것으로, 스크럼 팀 전체가 참여하여 계획한다.
데일리 스크럼은 15분 내외의 짧은 시간동안 스프린트의 목표 대비 진척을 점검하고, 필요하면 다음 업무 진행 계획을 변경하여 스프린트 백로그를 조정하는 것이다. 여기서 스프린트의 진척을 예측할 때, 일 대비 시간을 표현한 번 다운 차트를 이용할 수 있다.
번 다운 차트 예시 (출처 : 위키백과)
스프린트 리뷰는 스프린트의 결과물을 점검하고 향후에 적용할 것을 결정하는 것이다. 스크럼 팀은 주요 이해관계자들에게 일의 결과물과 논의된 프로덕트 목표 대비 진척을 보여준다.
스프린트 회고는 품질과 효율을 높이기 위한 방법을 계획하는 것으로, 스크럼 팀의 팀원들끼리 지난 스프린트를 점검하고 효율을 향상시키기 위해 도움이 되는 변화를 찾는 것이다.
스프린트 백로그는 프로덕트 백로그에서 결정된 우선순위를 기반으로 스프린트 동안 해야하는 일에 대한 리스트이다.
IT 기업, 스타트업 채용 공고에서"우리는 '애자일'하게 일합니다." 라던가, "스크럼 팀에서 일하게 됩니다."와 같은 문구를 종종 볼 수 있었는데 이번 학습 주차를 통해서 확실히 어떠한 방식인지 알 수 있었다. 기업 문화나 일하는 방식이 기존에 알고 있던 기업과는 달라서 흥미로웠고, 취직해서 이렇게 일하는 조직에서 일할 수 있으면 얼마나 좋을까!라는 생각을 하게 되었다.
챌린저스는 목표 관리 및 습관 형성 서비스로 시작해, '대한민국 1등 건강습관 앱'을 목표로 확장을 시도하고 있다. 초기 챌린저스 사용자들은 습관 형성을 위해 목표로 하는 습관 챌린지에 돈을 걸고 일정 기간 동안 정해진 방법과 횟수의 인증을 해, 인증 비율에 따라 걸었던 돈을 환급받고, 상금을 받기도 했다. 나도 취미를 공유하는 사람들을 통해 챌린저스를 알게 되었고, 돈을 걸고 환급받는 방식에 동기 부여를 얻어 여러 챌린지를 해왔었다. 하지만 챌린저스가 '대한민국 1등 건강습관 앱'으로의 확장을 시도하고 있는 지금, 본래의 챌린저스가 제공하던 목표 관리, 습관 형성이라는 서비스의 장점이 퇴색된다고 느껴 점점 챌린저스를 찾지 않게 되었고 W4D2 VOC 과제를 통해, 나와 비슷한 이유로 이탈했거나 이탈을 고려하는 사용자가 많다는 사실을 알게 되어, 이번 과제의 프로덕트로 선정하게 되었다. '갓생'을 도와주던 대표 앱인 챌린저스가 어떤 점을 개선해야 이탈률을 낮출 수 있을까?
1️⃣ 앱을 실행했을 때, 홈 화면에서 챌린지가 아닌 부가 기능이 더 눈에 띈다. ➡️ 챌린저스로 습관을 형성해 갓생을 살고 싶은 사용자는 홈 화면에서 개설된 챌린지를 먼저 확인하기를 원한다.
현재 챌린저스 홈 화면 UI / 하단 혜택 탭에서 확인할 수 있는 부가 기능 / 2021년 챌린저스 홈 화면 UI (출처 : https://qmens.tistory.com/26)
현재 챌린저스 홈 화면의 UI를 보면, '챌린저스'라는 이름이 무색하게 챌린지 카테고리보다도 제품 광고와 함께 진행되는 챌린지와 부가기능인 만보기, 갓생몬 키우기, 럭키드로우, 랜선대회가 먼저 뜬다. 해당 부가 기능 중 갓생몬 키우기를 제외한 기능들은 챌린저스가 최근 만보기 기능을 추가하면서 도입한 포인트와 관련되어 있고, 만보기 포인트 혜택은 광고를 시청한 뒤에 받을 수 있다. 하단 혜택 탭에서 확인할 수 있는 기능들을 굳이 홈 화면에서 챌린지보다 상단에 배치한 것은 챌린지에 참여해 습관을 형성하고자 하는 목적을 가지고 들어온 사용자들로 하여금 불편함을 느끼게 하는 요소가 될 수 있다.
2️⃣ 챌린지 상세 페이지를 보고 마음에 들지 않으면, 다시 뒤로 돌아가 원하는 챌린지를 탐색해야 한다. ➡️ 챌린저스에서 참여할 챌린지를 탐색하는 사용자는 빠르게 원하는 챌린지를 선택하고 참여하기를 원한다.
챌린저스 챌린지 상세페이지 / 추천 예시 (29cm 앱)
챌린저스에서 제공하는 챌린지는 각각 인증 기간, 인증 횟수, 인증 방법이 다르다. 그리고 이러한 부분은 챌린지의 상세 페이지에서 확인할 수 있다. 예를 들어 위의 사진대로 30분이내 3km 달리기 챌린지에 참여하고 싶은 사용자가 있다고 하자. 사용자는 챌린지의 상세페이지를 통해 인증 기간과 횟수, 방법을 확인해보는데, 인증 기간동안 일정이 있어 참여가 어려울 것 같다. 오늘부터 시작하는 챌린지가 아닌, 다음주부터 시작하는 챌린지를 찾고 싶은데 뒤로 가기를 눌러서 다시 챌린지 리스트에서 챌린지를 찾거나 검색으로 찾는 것보다는 커머스 서비스처럼 하단에 비슷한 챌린지, 나중에 시작하는 챌린지 등을 추천해주면 빠르게 선택하고 참여할 수 있을 것이다.
3️⃣ 만보기 포인트 혜택을 얻기 위해 광고를 시청하는 것이 불편하다. ➡️ 챌린저스로 만보기 포인트 혜택을 이용하는 사용자는 간소화된 절차로 포인트를 얻길 원한다.
챌린저스의 만보기 포인트 적립 방법 / 토스의 만보기 포인트 적립 방법
마지막으로, 챌린저스 VOC에서 가장 많은 비판을 받고 있는 만보기 포인트 적립 방식이다. VOC에서 지적받던 선물 상자를 클릭하고 랜덤으로 광고가 뜨는 UI는 현재, 걸음 수에 따라 광고를 시청하고 포인트를 적립하는 방식으로 개선된 것으로 보인다. 다만, 굳이 광고를 이미지만 뜨는 일반 광고와 동영상 광고로 나누어 포인트에 차등을 둔 것은 사용자로서 많은 광고 시청을 유도하는 것 같아 부정적으로 느껴질 수 있다. 챌린저스처럼 포인트 혜택을 제공하는 토스 만보기는 광고없이 5,000걸음 10,000걸음마다 포인트를 받을 수 있는데, 같은 걸음, 같은 10원의 포인트를 받기 위해 굳이 챌린저스를 이용할 이유를 못 느낄 것 같다. 또한, 3,000걸음의 광고를 시청해야만 5,000걸음의 광고를 시청할 수 있는 식으로 설계된 UX에서 다음 광고를 시청하고 싶어도 광고 대기가 계속되어, 포인트를 적립받을 수 없었다.
광고 수익이 있어야 만보기를 운영할 수 있는 것이라면, 광고 대기 문제를 해결해야할 것이고, 차라리 광고를 시청하는 걸음 수를 더 잘게 쪼개고 포인트의 차등을 두지 않는 방식을 이용할 수도 있다는 생각이 든다.
유저 스토리들 간의 우선순위 설정
유저 스토리들 간의 우선순위를 설정하기 위해, RICE Scoring 프레임워크를 이용했다.
RICE에서 R은 제안된 기능에 영향을 받을 사용자 수, I는 제안된 기능이 비즈니스에 미칠 잠재적 영향, C는 기능을 구현할 수 있는 자신감, E는 기능 구현을 위해 필요한 시간, 비용 및 리소스의 양이다.
RICE 점수는 R(도달 범위) x I(영향력) x C(자신감) / E(노력)이다.
* 여기서, 챌린저스의 전체 사용자수를 알 수 없으므로 R의 점수 범위는 1~100으로 설정해 비율을 짐작하여 표현하고, C는 백분율로 표현, I와 E의 점수 범위는 아래와 같이 설정하고 1~3으로 표현한 후 계산하였다.
1 : 적은 영향력 / 2 : 중간 정도의 영향력 / 3 : 높은 영향력
1 : 적은 노력 / 2 : 중간 정도의 노력 / 3 : 많은 노력
(🙋♀️PM님! 질문있습니다! 우선순위를 정하기 위한 프레임워크로 RICE Scoring을 이용했는데, 이렇게 제가 임의로 값의 범위를 정해서 해도 되는건가요??)
우선순위
계
Reach (도달 범위)
Impact (영향력)
Confidence (자신감)
Effort (노력)
홈 화면 개선
1️⃣
300
100
3
100%
1
챌린지 추천 기능
3️⃣
20
60
2
50%
3
만보기 광고 개선
2️⃣
60
50
3
80%
2
홈 화면 개선
모든 사용자가 도달하고 홈 화면에 제일 먼저 챌린지가 노출되기 때문에 도달 범위 100, 영향력 3이라고 생각했고, 간단한 UI 개선으로도 해결할 수 있는 문제라고 생각하기 때문에 자신감 100%, 노력 1로 값을 설정했다.
챌린지 추천 기능
챌린저스의 사용자들이 챌린지를 하려고 앱을 실행하지만, 챌린지 기간에 따라 새로운 챌린지를 탐색하지 않을 수 있기 때문에, 도달 범위는 60, 영향력은 2라고 생각했고, '추천'이 기존에 없는 기능이기 때문에 들여야 할 노력은 3, 자신감은 50%로 보았다.
만보기 광고 개선
챌린저스 만보기의 광고 시청 때문에 굳이 만보기 기능을 이용하는 사용자들이 없을 수도 있기 때문에 도달 범위는 절반인 50으로 생각했고, 만보기의 광고 수익이 매출에 영향이 있을 것이라고 생각해 영향력은 3이라고 생각했다. 또한, 만보기 출시 이후 계속해서 개선을 하고 있기 때문에 자신감은 80%, 노력은 2로 값을 설정했다.
화면 기획 해보기
홈 화면 Before / After
3가지 개선점 중에서, 가장 우선순위에 있는 홈 화면의 화면 기획을 해보았다.
챌린저스라는 이름과 목표 관리, 습관 형성이라는 서비스에 걸맞게 혜택 탭에 들어갈 수 있는 기능은 제외하고, 챌린지 위주로 홈 화면을 개편하면 어떨까?
W6, W7동안 PM에게 필요한 IT 지식을 배웠다. 어렵기도 하고 알아야하는 내용이 꽤 방대했지만, 원래 어떤 것이든 구조와 작동 원리에 대한 탐구심이 있는 성격이라, 학습을 통해 배우고 검색하고 알아보는 과정이 즐거웠다. 이번에는 Section 3 시작에 작성했던 W6D1 과제의 회고를 하며, 조금이나마 더 쌓인 IT 지식으로 Technical Flow Chart를 작성해보려 한다.
W6D1 과제를 요약해서 설명하자면, 뉴닉 앱에서 사용자가 놓친 뉴스를 볼 때 사용자의 Flow Chart를 그려보고, 이때 시스템 작동 과정을 유추하고 표현해보았다.
사용자가 놓친 뉴스를 볼 때 Flow Chart / 사용자가 놓친 뉴스를 읽을 때 시스템 작동 과정
지금 와서 보니, 작성한 시스템 작동 과정을 User Flow Chart처럼 과정이 유기적으로 연결되게 표현하면 어떨까 하는 생각이 든다. 그간 학습을 통해 배운 내용을 토대로 구체적인 과정을 추가해가면서 Techinal Flow Chart를 작성해보았다.
사용자가 놓친 뉴스를 볼 때 Techinal Flow Chart
Techinal Flow Chart를 그리면서, 뉴닉 어플리케이션(프론트엔드)과 뉴닉 서버가 소통을 하기 위해 각종 데이터를 불러오기 위한 API가 작동하지 않았을까? 추측해보았다.
이번 과제를 작성하면서 뉴닉 앱을 재방문해보았다. W6D1과제와 이번 과제, 그리고 W4D3 뉴닉 UX개선 과제를 할 때, '뉴스 전문 읽기'에 도달하기 위해 거쳐야 하는 과정(뉴스 헤드라인 ➡️ Swipe Left ➡️ 뉴스 미리보기 ➡️ 버튼 클릭 ➡️ 뉴스 전문)이 불편하다고 생각했었는데 이 부분이 개선이 되어 홈 화면에서 뉴스 헤드라인만 있는 카드를 그냥 누르기만 해도 바로 '뉴스 전문 읽기'에 도달할 수 있었다. 이렇게 개선된 경우에는 Techinal Flow가 간소화 되었을까?🧐 기회가 된다면 알아보고 싶다.
클라이언트, 서버와 같이 서로 다른 프로그램에서 요청과 응답을 주고받을 수 있게 만든 체계이다.
Open API는 누구나 사용할 수 있게 공개된 API로, 공공 기관이나 국내외 IT 대기업에서 Open API를 제공하고 있다.
네이버 단축 URL Open API 탐색해보기
단축 URL Open API 설명
네이버에서 제공하는 Open API 중에서도, 긴 URL을 짧게 줄여주는 기능을 가진 단축 URL API를 탐구해보려고한다. 단축 URL API는 비로그인 방식 오픈 API로 네이버 오픈 API를 호출할 때, HTTP 요청 헤더에 클라이언트 아이디와 클라이언트 시크릿 값만 전송해 사용할 수 있는 오픈 API라고 한다.
단축 URL API의 개요는 아래와 같다.
단축 URL API 기능 개요
여기서 RESTful API란, REST(Representational State Transfer)ful API로, 클라이언트가 서버에 요청할 때 데이터를 다루는 방식인 CRUD별로 서버주소가 생기고 너무 많아져 관리를 용이하게 하기 위한 API이다. RESTful API는 CRUD를 하나의 주소로 관리하는 대신, 어떤 요청을 보냈는지 함수로 파악한다.
Creat : POST Read : GET Update : PUT(데이터 전체 수정) / PATCH (데이터 일부 수정) Delete : DELETE
요청
HTTP 프로토콜을 이용해 GET 방식이나 POST 방식으로 데이터를 요청 이 때, 파라미터 타입은 String, 즉 문자열 형태
응답
응답에 성공하면 결괏값을 JSON 형식으로 반환 각 속성의 타입이 모두 string, 문자열로 표시
네이버 단축 URL API가 작동하는 방식을 간단하게 그림으로 표현해보았다.
새로운 단축 URL을 만드는 경우: 웹/앱 화면에서 사용자가 원본 URL을 입력하면, 웹/앱은 단축 URL API를 호출해 서버에 URL 단축을 요청한다. 그러면 서버는 URL을 단축해, 단축 URL API를 통해 단축된 URL을 웹/앱 화면에 전달한다.
이미 만든 단축 URL을 조회하는 경우: 웹/앱 화면에서 사용자가 원본 URL을 입력하면, 웹/앱은 단축 URL API를 호출해 서버에 URL 단축을 요청한다. 그러면 서버는 원본 URL을 단축한 URL을 찾아, 단축 URL API를 통해 단축된 URL을 웹/앱 화면에 전달한다.
여기까지 네이버 단축 URL API에 대한 탐색을 마치고, 네이버 개발자 센터에 나와있는 내용을 보고 Postman으로 해당 API를 실행해보았다. 블로그 주소를 넣어보니 신기하게도https://me2.do/형태로 단축된 URL이 결괏값으로 나왔다. 튜토리얼과 API 문서를 읽어도 실행 방법을 이해할 수 없어 몇 번 실패했었는데, 계속 검색해가면서 실행에 성공하니 드디어 네이버 개발자 센터에 명시된 내용들이 이해가 되었다. 이게 바로 백문이불여일견인 것인가
학습한 서비스 유형에 대한 이해를 높이고, 선정한 프로덕트의 제공 중인 서비스 유형별 장단점을 파악합니다. 또한, 프로덕트 런칭 당시의 유형을 선택한 이유를 고민하고 다른 유형으로의 확장을 구상해봅니다.
실제 현업에서 다양한 서비스 유형의 특징을 고려하여 프로덕트 초기 전략과 확장 전략을 수립할 수 있도록 합니다.
당신2 9하는 삶, 29cm
이번 과제로 선정한 프로덕트는 29cm이다. 온라인으로 쇼핑을 자주 하지 않지만, 감도 높은 인테리어 소품이나 생활용품, 의류나 잡화를 구매 혹은 선물하고 싶을 때는 항상 29cm를 열게 된다. 29cm의 서비스 유형을 탐색하고, 초기 전략과 확장 전략을 파악하면 내가 서비스의 거의 초창기부터 29cm에 매력을 느끼고 꾸준히 사용해온 이유를 알 수 있지 않을까?
출처 : 29cm
29cm의 서비스 유형
29cm는 PC 웹과 네이티브 앱 서비스를 제공하고 있다. (나는 iOS 유저이므로, 이 과제에서 네이티브 앱은 iOS 네이티브 앱으로만 분석해보려고 한다.) 이커머스 서비스이다 보니, 방대한 요소를 모두 분석할 수는 없어서 평소 나와 접점이 많은 요소를 분석해 보려고 한다.
PC 웹
1) 랜딩 페이지
29cm 랜딩 페이지 (좌) / 카테고리 드롭다운 메뉴 (우)
장점
주로 이벤트, 할인 정보, 할인 쿠폰, 브랜드 세일으로 구성되어 있다. 저렴하게 물건을 구매하고 싶은 고객에게 좋을 것 같다.
상품 카테고리에 마우스를 올리면 드롭다운 메뉴가 뜨는데, 이 때 관련된 이벤트가 함께 뜨는 점이 좋다.
단점
랜딩 페이지에 프로모션과 관련된 정보들이 산재하다보니 카테고리와 상관없이 브랜드가 나열되어 정신없다는 느낌이 든다.
2) 상품 페이지
웹 상품 페이지
장점
스크롤을 내리지 않아도 리뷰, 찜, 장바구니 담기, 구매 등의 행동을 바로 할 수 있는 점이 좋다.
'상품 - 유의사항 - 상품 상세 - 상품 및 판매자 정보 - 브랜드 페이지 링크 - 리뷰 - 상품문의 - 카테고리 BEST 제품 - 다른 고객이 함께 구매한 상품 - 관련 이벤트' 흐름으로 정보를 얻을 수 있는 것이 합리적이라는 생각이 들었다.
단점
딱히 없는 것 같다
3) 검색
웹 검색 화면
장점
군더더기 없이 깔끔하게 최근검색어와 인기검색어, 검색어 자동완성을 제공하고 있다.
단점
너무 깔끔하다는게 단점이라면 단점일 것 같다. 고객 정보에 기반하여 추천 검색어를 제공해도 좋을 것 같다.
네이티브 앱 - iOS
1) 랜딩 페이지
29cm 앱 팝업 / 랜딩 페이지 / 프로모션 모아보기
장점
앱을 실행하면 프로모션, 이벤트 팝업이 뜬 뒤, 랜딩 페이지에서는 카테고리에 따라 브랜드와 상품을 볼 수 있어 웹보다 오히려 깔끔한 느낌이 든다.
이벤트, 프로모션은 따로 모아볼 수 있는 점도 깔끔하게 느껴진다.
단점
화면의 크기 때문이겠지만, 29cm가 타 이커머스 서비스와 달리 고유하게 제공하는 Special-Order, Showcase, PT, Welove 서비스를 랜딩 페이지에서 바로 확인할 수 없는 점이 아쉬웠다.
2) 상품 페이지
앱 상품 페이지
장점
스크롤을 내리지 않아도 리뷰, 찜, 장바구니 담기, 구매, 선물하기를 바로 할 수 있는 점이 좋다.
단점
상품을 탐색하는 고객의 입장에서 상세페이지를 본 후에 리뷰를 통해 실제 상품의 색상이나 크기를 확인하는 것이 중요할 것 같은데, '상품 - 유의사항 - 상품 상세 - 상품 및 판매자 정보 - 브랜드 페이지 링크 - 추천 상품 - 함께 구매한 상품 - MD 추천 - 리뷰 - 상품문의 - 카테고리 BEST 제품 - 관련 이벤트' 흐름이 비합리적이라고 느껴졌다.
3) 검색
앱 검색 화면
장점
깔끔하게 최근 검색어, 인기 검색어, 검색어 자동 완성을 제공하고 인기 검색어는 성별 필터로 나눠서 볼 수 있는 점이 좋다.
29cm는 2013년 웹페이지로 처음 런칭했다. 그 이유는 2013년엔 지금만큼 이커머스 앱 사용이 활발하지 않은 것도 있었겠지만, 29cm의 초기 전략으로 보자면 이커머스 시장 안에서 '큐레이션'이라는 포지셔닝이라 생각한다. 29cm의 회사 소개 페이지에 들어가보면, 29cm는 제품과 브랜드를 소개하는 방식에서 타 이커머스 서비스와 다르다. 특히, 2013년부터 29cm가 해 온 'PT'는 브랜드의 가치를 전달하기 위해 글, 사진, 영상, 인터랙티브한 요소를 이용한다.
29cm 회사 소개 페이지 (좌) / 29cm PT 소개 페이지 (우)
이러한 29cm의 소개 방식은 런칭 당시 화면이 작은 모바일 기기보다는 웹 페이지에서 보는 것이 더 효과적이었을 것이고, 포화상태인 이커머스 시장에서 좋은 브랜드와 좋은 제품을 독특한 방식으로 소개 받을 수 있다는 점이 고객들에게 좋은 이미지로 다가왔을 것이다.
29cm는 어떤 서비스 유형으로 서비스를 확장해야할까?
29cm가 이커머스 서비스이다보니 먼저, 오픈서베이 온라인 쇼핑 멤버십 트렌드 2022 자료를 통해, 이커머스 시장에 대한 동향을 파악해보았다.
평소 물품 구매 방법 (출처 : 오픈서베이 온라인 쇼핑 멤버십 트렌드 2022) / 스마트폰 사용률 (출처 : 한국갤럽조사연구소)
먼저, 평소 물품 구매 방법이다. 온라인 쇼핑 중에서도 스마트폰을 이용한 구매 비율이 압도적으로 높다. 스마트폰 보급률과 사용률이 높아지면서 예전처럼 고객들이 PC 웹보다 앱이나 모바일 웹을 통해 유입이 많이 되는 것이다. 따라서, 29cm 역시 앱 서비스 확장이 불가피하다는 생각이 든다. 그렇다면, 어떻게 확장 전략을 세울 수 있을까?
주 이용 온/모바일 쇼핑몰 구매 품목 / 해당 온/모바일 쇼핑몰 주 이용 이유 (출처 : 오픈서베이 온라인 쇼핑 멤버십 트렌드 2022)
오픈서베이 온라인 쇼핑 멤버십 트렌드 2022 자료에서 확인한 주 이용 온/모바일 쇼핑몰 구매 품목과 해당 온/모바일 쇼핑몰 주 이용 이유이다. 29cm는 해당 자료에서 카테고리 전문몰에 속하는데, 고객이 카테고리 전문 몰에서 주로 구매하는 품목은 의류와 잡화이고 주 이용 이유는 '원하는 상품이 있어서', '상품 품질이 좋아서,' '특별한/독점적인 상품이 있어서'이다. 한편, 전체 대비 유의미하게 낮았던 구매 품목은 생활용품, 식품, 건강용품, 반려동물용품, 문구/취미용품, 자동차용품, 가전/디지털제품, 주방용품, 도서/미디어, E쿠폰/티켓이었는데, 29cm에서 모두 판매를 하고 있는 품목이었다. 하지만 브랜드를 29cm만의 방식으로 특별하게 소개하더라도, 고객들이 주로 최저가 구매를 선호하는 품목이기에 낮은 비율을 차지한다는 생각이 들었다. 전체 대비 유의미하게 낮았던 주 이용 이유에는 배송, 쉬운 교환/환불, 배송시간 지정, 친환경 포장재가 있었다. 타 카테고리 전문몰을 비롯하여 29cm 역시 브랜드가 입점해서 브랜드가 자체적으로 배송을 하기 때문에 낮은 비율을 차지한다고 생각했다.
이 자료를 보고, 29cm가 주로 패션 브랜드와 상품을 엄선해서 큐레이션하고 소개하는 특징과 이용 고객의 니즈가 부합한다는 생각을 했다. 가격이 다소 높더라도, 질 좋고 특별한 브랜드를 경험하고 싶은 고객이 이용하기 때문에, 품목의 카테고리를 확대하거나 배송 쪽에서 전략을 세우기 보다는 오히려 하이엔드 브랜드, 독점 브랜드의 PT나 프로모션으로 확장 전략을 세우는 것이 어떨까?
패션 앱 설치자 연령 분석 (출처 : dighty data market)
29cm의 주 소비 연령층은 20~30대로, 소비를 통해 정체성을 확립하는 연령대이다. 따라서, 가격대가 높아도 29cm만의 특별한 브랜드 PT, 브랜드 코멘터리를 적극 활용한다면 하이엔드/독점 브랜드에 대한 구매 전환율도 높을 것이라고 예상한다.
앱 서비스의 확장을 위해서 라이브커머스처럼 29cm 앱에서 한정된 시간에 하이엔드/독점 브랜드 한정판 프로모션 이벤트(현재는 계절이 바뀔 때 세일을 진행하고 있다)를 한다면 '한정'이라는 단어에 많은 고객들이 유입되지 않을까?
이번 과제에서는 뉴닉 웹 랜딩페이지의 프론트엔드 - HTML, CSS, JavaScript 요소를 탐색해보려고 한다.
뉴닉 웹 랜딩페이지 HTML 탐색 (각 태그에 대한 개념 설명 출처 : TCP School, Mozilla)
뉴닉 웹 랜딩페이지 (좌) / 뉴닉 웹 랜딩페이지 개발자도구 창 (우)
HTML(Hyper Text Markup Language)은 프론트엔드에서 웹 콘텐츠의 구조를 정의한다.
먼저, 뉴닉의 웹 랜딩페이지를 쭉 스크롤해서 전체를 캡쳐해보고, 개발자도구 창을 띄워 전체 구조를 비교해 보면서 보았다.
HTML에서 <head>는 문서의 정보를 담고 있으므로, 랜딩페이지 화면에서는 확인할 수 없었다.
따라서 <body> 태그 내부의 구성 요소와 랜딩페이지를 비교해보면서 보았다.
뉴닉 랜딩페이지 HTML 전체 구조
[1] navigation
뉴닉 웹 랜딩페이지의 가장 상단은 다른 페이지 또는 현재 페이지의 다른 부분과 연결되는 내비게이션 링크들의 집합인 <nav> 태그로 되어있다. <nav> 요소를 사용하는 일반적인 예로는 메뉴, 목차, 인덱스 등이 있다. 'NEWNEEK' 아이콘은 홈(랜딩페이지)과 연결되어 있고, 돋보기 아이콘은 검색 창, 사람 아이콘은 로그인 창과 연결되어 있다. 넓게 보면 메뉴 요소라고 생각한다.
[2] header
내비게이션 아래는 <header> 태그에 속해 있는 영역이다. <header> 태그는 보통 도입부에 해당하는 콘텐츠를 포함한다. 뉴닉에서는 뉴닉에 대한 간단한 소개와 뉴스레터 구독 신청 폼이 이 영역에 속한다.
[3] navigation - category
<header> 태그 아래에는 또 다시 <nav> 태그 영역인데, 최상단의 내비게이션과 다른 점이 있다면, 뉴스를 카테고리 별로 탐색할 수 있게 해 준다. <nav> 요소를 사용하는 일반적인 예가 메뉴, 목차, 인덱스 등이라고 했을 때, 이 영역은 인덱스에 해당된다고 생각한다.
[4] section
뉴스 카테고리 내비게이션 영역 아래에는 가장 최신 뉴스들이 <section> 태그 안에 모여있다. <section> 태그는 HTML 문서에 포함된 독립적인 섹션을 정의할 때 사용한다고 한다. 사실, <section> 태그에 대해서 잘 이해가 되지 않아서 왜 <section> 태그를 썼을까? 좀 더 찾아보았는데 연관 있는 요소들을 그룹화할 때 주로 사용한다고 한다. 카테고리를 선택하면 해당 영역 안의 내용이 카테고리에 따라 바뀌는데, 그래서 <section> 태그를 사용하는 것이라고 유추할 수 있었다.
'세계' 카테고리 section 영역 (좌) / '테크' 카테고리 section 영역 (우)
[5] banner
뉴스 영역 아래는 뉴닉 앱 설치 링크로 이동되는 배너가 있었다. 다른 페이지를 연결할 때 사용하는 하이퍼링크를 정의할 때 사용하는 <a> 태그를 이용, 고슴이 아이콘이나 텍스트를 클릭하면 뉴닉 앱 설치 페이지로 이동한다.
[6] ~ [8] aside
앱 설치 링크 배너 아래에는 뉴닉에서 권장하는 퀴어 용어, 여성 용어 가이드 페이지로 이동하는 링크와 뉴스레터 구독 신청 폼(header 영역)으로 이동하는 링크가 있다. 이 세 링크는 <aside> 태그 안에 속해 있는데, <aside> 태그는 별도 구획 요소로, 문서의 주요 내용과 간접적으로만 연관된 부분을 나타내며 주로 사이드바나 콜아웃 박스로 표현된다.
[9] footer
가장 아래 부분은 <footer> 태그에 속해 있다. <footer> 태그에는 주로 문서나 섹션에 대한 저자 정보, 저작권 정보, 연락처, 사이트맵, 연관페이지 등이 포함된다. 뉴닉 랜딩페이지의 <footer> 영역 안에도 마찬가지로 뉴닉의 로고, 뉴닉 탄생기, 사업자 정보(저자 정보), 고객센터, 제휴 문의(연락처), 인스타그램, 특집 기사 모음(연관페이지), 저작권 정보 등이 포함되어 있다.
뉴닉 웹 랜딩페이지 CSS 탐색
CSS(Cascading Style Sheets)는 프론트엔드에서 웹 콘텐츠의 글꼴, 색상, 크기, 간격 등의 스타일과 레이아웃을 지정한다.
뉴닉 웹 랜딩페이지 전체를 보니, 공통되는 글꼴이나 색상 등의 스타일이 눈에 보였다. 눈에 띄는 부분들을 전체적으로 정리해 보았다.
[1] 배경 색상
내비게이션 영역 배경 스타일 (좌) / 구독 영역 배경 (우)
개발자 도구 창의 Styles에서 배경 색상 스타일이 지정되어 있는 것을 알 수 있다. 각 영역에 해당되는 scss 파일에서 가져온 스타일 요소로 파악된다. header의 구독 영역, 배너의 일부 영역은 오렌지색 배경으로 지정되어 있고, 카테고리 내비게이션은 흰색 배경으로 지정되어 있다. 그 외 나머지 영역은 회색 영역으로 지정되어 있다.
[2] 테두리
뉴닉 웹의 랜딩페이지는 HTML에서 나뉜 영역에 따라 테두리가 둘러져있는 것을 확인할 수 있었다. 또한, 기사가 들어가는 박스 역시 테두리가 둘러져 있어, 테두리 스타일도 지정되어 있을 것이라 추측하였다.
HTML에서 나뉘어진 영역 테두리 스타일 / 뉴스 박스 테두리 스타일 / 배너 테두리 스타일
추측대로 HTML에서 나뉘어진 영역의 테두리 스타일은 동일한 색상, 굵기로 지정되어 있었고, 뉴스 박스의 테두리 스타일도 동일하게 지정되어 있었다. 하단의 배너 테두리 스타일만 좀 더 두꺼운 테두리로 지정되어 있었다.
[3] 글꼴
font.scss / 구독 영역 폰트 스타일
글꼴 또한 일관된 폰트에 크기나 굵기 변화를 주어 사용하고 있다. 개발자 도구 창의 소스 탭에서 font.scss 파일에서 Noto Sans KR 폰트를 가져와서 쓰는 것을 확인할 수 있었다. 그리고, 각 HTML 태그 및 영역 내에서도 개별 scss 파일에서 각각의 스타일을 지정하고 있었다.
etc - 레이아웃 등
개발자도구 창에 작게 flex, grid라는 버튼이 보여서 눌러보니, 직관적으로 레이아웃의 스타일을 지정하는 CSS 속성이라는 것을 알 수 있었다. 검색을 통해 완벽히 이해할 수는 없었지만, 반응형 레이아웃을 위한 속성이라는 것을 알 수 있었다.
뉴닉 웹 랜딩페이지 JavaScript 탐색
JavaScript는 HTML과 CSS로 구성된 웹 페이지에서 어떠한 기능을 구현하고, 콘텐츠를 동적으로 바꿔주는 프로그래밍 언어이다. 따라서, 사용자가 어떤 행동을 했을 때 반응하는 요소, 주기적으로 갱신되는 요소를 찾아보았다.
[1] 뉴스레터 구독
먼저, 사용자의 행동에 반응했을 것 같은 요소로 구독 영역이 있었다. 사용자가 폼에 이메일 주소와 닉네임을 입력하고, 개인정보 수집 및 이용과 광고성 정보 수신 동의 체크박스를 선택하고, 뉴스레터 구독 버튼을 누르는 행동을 하면 사용자의 정보를 서버에 저장하고, 사용자에게 뉴스레터를 보내는 반응을 하는 자바스크립트 요소가 있을 것이라고 생각했다.
Subscribe.tsx / ChatGPT의 해석
추측대로, 개발자도구 창 소스탭의 js에서 Subscribe.tsx라는 파일이 있었다. 자바스크립트 코드를 해석할 능력은 없기에 해당 코드의 해석을 ChatGPT에게 물어보았고, 답을 번역하자면 아래와 같다.
뉴스레터 구독 양식을 위한 React 컴포넌트입니다. 이 컴포넌트는 TextInput, Modal, axios, validate, useForm, reactGA를 포함한 여러 다른 컴포넌트, 유틸리티, 후크를 가져옵니다. 이 컴포넌트에는 이메일과 이름에 대한 두 개의 텍스트 입력 필드, 개인정보 수집 및 이용에 대한 동의 확인란, 마케팅 정보 수신에 대한 동의 확인란이 있는 폼이 있습니다. 또한 양식에는 양식을 제출하고 뉴스레터를 구독하는 버튼과 앱을 다운로드하는 버튼 두 개가 있습니다. 사용자가 양식을 제출하면 handleSubmit 함수가 호출됩니다. 이 함수는 사용자를 뉴스레터에 구독하도록 서버에 게시물 요청을 보냅니다. 사용자가 이미 구독 중인 경우 메시지와 함께 알림이 표시됩니다. 그렇지 않으면 성공 메시지와 함께 다른 알림이 표시되고 reactGA.trackingEvent를 사용하여 추적 이벤트가 전송됩니다. 오류가 발생하면 콘솔에 기록됩니다. 컴포넌트에는 뉴스레터 구독 약관과 개인 정보 수집 및 사용 약관을 표시하는 두 개의 모달 대화 상자도 있습니다. 이러한 모달은 사용 상태 및 사용 콜백을 사용하여 켜고 끌 수 있습니다. 이 컴포넌트는 별도의 파일에서 CSS를 사용하여 스타일을 지정합니다.
주기적으로 갱신되었을 것 같은 요소에는 "지금 000,000명이 뉴닉을 읽고 있어요."에서 구독자 수이다. 뉴닉 팀에서 일일이 구독자 수를 세서 표시했을 리는 없고, 사용자가 구독을 하면 자동으로 계산해서 표시가 될 것이라고 추측했다.
이번에도 개발자 도구 창 소스탭 js에서 HomeHeroSubscribers.tsx라는 파일을 찾을 수 있었고, 해당 코드의 해석을 또 chatGPT에게 부탁하였다.
HomeHeroSubscribers 함수는 userStore를 전달받아 userStore.subscribersCount를 이용해 구독자 수를 화면에 출력하는 컴포넌트입니다. 이때, Number 함수와 toLocaleString 메서드를 사용하여, 구독자 수를 천 단위로 쉼표(,)를 추가하여 출력합니다.
이번 과제는 어렵기도 하면서 재밌었다. 랜딩페이지가 단순해 보여도, 그 안에 무수히 많은 요소와 스타일, 기능이 있어서 하나하나 유추해보고 찾아볼수록 끝이 없어서 너무 오래 걸리긴 했지만 정말 재밌어서 탐구심을 제대로 자극받았다. 시간과 여유가 된다면 전부 다 알아보고 싶다...!
토론 시간이 늘어난 대신에 조별 과제처럼 조원들이랑 자료 찾고, 의견 모으는 과정이 재미있었다.
신나게 토론하다가도 어..? 우리 방향이 뭔가 이상한데? 하고 다시 방향 설정을 한 과정도 좋았다. 혼자 과제를 할 때는 헤매거나 내가 잘못된 방향으로 가고 있어도 몰랐을텐데..
PM님이 토론 세션마다 주시는 선물
여기 저기 토론 방 돌아다니면서 대체 어떻게 시간을 내서 만드시는 건진 모르겠지만, 토론 세션마다 학습과 과제의 방향을 잡아주는 선물이 너무 좋았다.
👩💻 Learned
앞 섹션에서 데이터의 중요성은 들었지만, 실제로 데이터를 다루고, 분석하고, 시각화 해본 것은 처음이었다.
말로만 듣던 린 분석 배워보고 해봤다. 나중에 책도 읽어야지
🤦♀️ Lacked
건강 상태가 안 좋았던 것
각기 다른 질환으로 병원 신세를 2번이나 져야만 했다 ㅠㅠ 나도 모르게 받는 중압감이 건강에 작용하는 것 같음
데이터를 다루는 것, 시각화하는 것
W6D4 과제는 역대 과제 중에서 최장 시간이 걸렸다. 애초에 엑셀도 견적서 작성 용도로만 써본터라 익숙하지 않은데, 다뤄야 할 데이터의 양은 많고 또 그걸 가공해서 시각화하는 것은 아예 처음이라 이틀 정도는 과제를 하면서 유의미한 결과를 낼 수가 없었다. 결국 주말까지 잡아먹어서 자괴감까지 들어버렸다.
시간 관리
위 내용과 이어지는데, 평소에 과제를 할 때에 뻘 짓(?)을 많이 한다는 생각을 스스로 할 때가 있다. 좀 더 효율적으로 움직일 수 없을까..? 🧐
🙏 Longed for
밀린 과제 이번 주에는 전부 다 처치하기
제가 위클리 과제를 밀린 답도 없는 사람입니다... 이번 주에는 전부 다 제출하는 것을 목표로!
데이터의 바다에 익숙해지기
이번엔 정말 너무 막막해서 공부를 조금이라도 해야겠다는 생각을 했다.
그리고 중요한 건 꺾였는데도 그냥 하는 마음이다! 바다 좀 헤매면 어때 난 수영도 서핑도 좋아하니까 괜찮아 🏊♀️🏄🏻♀️
데이터를 시각화하기 앞서, 가설을 입증하는 데에 필요한 지표의 데이터만 추출해, raw 데이터를 가공한다.
가설 1. 2016년 파리협약에 가입한 우리나라는 온실 가스 배출량을 줄이기 위해 공공 자전거 서비스를 확대했을 것이다.
검증 지표 : 2016년부터 2021년까지 전체 전국의 공공 자전거 터미널/주차장 설치 개수, 공공 자전거보유 대수
공영 자전거 현황 raw data (출처 : KOSIS 국가통계포털)
raw 데이터에는 지역별로 데이터가 세분화되어 있다. 하지만 가설 1은 '우리나라'가 온실 가스 배출량을 줄이기 위한 노력의 일환으로 공공 자전거 '서비스'를 점진적으로 확대했을 것이라는 추측이다. 따라서, 특정 지역이 아닌 전국을 범위로 두고 있고, 공공 자전거 서비스가 확대되기 위해서는 기반 시설이 필요하다는 점에서 2016년부터 2021년까지의 전국의 공공 자전거 터미널/주차장 설치 개수와 공공 자전거보유 대수 데이터만 추출하였다.
가설 1의 데이터 가공
가설 2. 공공 자전거 서비스가 활성화된 지역은 공공 자전거의 대여 건수도 많을 것이다.
검증 지표 : 가장 최근 연도의 지역별 공공 자전거 터미널/주차장 설치 개수, 공공 자전거보유 대수, 대여실적
공영 자전거 현황 raw data (출처 : KOSIS 국가통계포털)
가설 2는 공공 자전거에 필요한 기반 시설이 많은 지역일수록 서비스가 활성화되고, 시민들의 참여, 즉 대여 건수 또한 많아질 것이라는 추측에서 시작되었다. 따라서, 이 가설은 기반 시설과 대여 건수의 상관관계를 통해 검증을 해보려고 한다. 가설 1과 달리, 공통된 시점, 가장 최근 데이터인 2021년의 지역별 공공 자전거 터미널/주차장 설치 개수, 공공 자전거 보유 대수, 대여실적 건수 데이터를 추출했다.
가설 2의 데이터 가공 (추가로, '-'로 데이터 내용이 아예 비어있는 지역 데이터는 삭제)
가설 3. 공공 자전거 서비스가 활성화되면온실 가스 배출량은 줄어들었을 것이다.
➡️ 공공 자전거 서비스 이용이 많아진 지역의 온실 가스 배출량은 줄어들었을 것이다.
검증 지표 : 2016년부터 2020년까지 공공 자전거 서비스가 있는 지역의 전체 온실가스 배출량, 2016년부터 2020년까지 지역별 공공 자전거 대여실적
광역시도별 온실가스배출량 raw data (출처 : 경기데이터드림) / 공영 자전거 현황 raw data (출처 : KOSIS 국가통계포털)
데이터 가공을 하기 전에, 가설 3의 내용을 수정하였다. 온실 가스 배출량 감소에 영향을 미치려면, 단순히 공공 자전거 서비스가 활성화되는 것이 아니라 실제 공공 자전거 서비스 이용이 많아야 한다고 생각하기 때문에 가설 3의 내용을 "공공 자전거 서비스 이용이 많아진 지역의 온실 가스 배출량은 줄어들었을 것이다." 로 수정하였다. 경기데이터드림에서 가져온 raw 데이터에는 전체온실가스배출량, 1인당인구배출량, 관리업체1개당 온실가스배출량, 사업장1개당 온실가스배출량 정보가 있다. 공공 자전거가 전체 온실가스 배출량에 미치는 영향이 궁금한 것이므로, 전체 온실가스 배출량을 제외한 나머지 데이터는 삭제하기로 하였다. 또한, 광역시도별 온실가스배출량의 raw 데이터는 지역을 세분화하지 않고, 2016년부터 2020년까지의 데이터를 제공하므로 공영 자전거 현황 raw 데이터도 이에 맞게 가공하였다.
가설 3의 데이터 가공
데이터 시각화 및 가설 검증
가설 1. 2016년 파리협약에 가입한 우리나라는 온실 가스 배출량을 줄이기 위해 공공 자전거 서비스를 확대했을 것이다. 검증 지표 : 2016년부터 2021년까지 전국의 공공 자전거 터미널/주차장 설치 개수, 공공 자전거보유 대수
✅ 가설 일치
가공한 데이터를 태블로를 이용하여 시각화하였다. 기존 시각화 계획은 stacked bar chart였으나, 태블로의 이용이 서툴러 그룹 막대그래프로 표현해 보았다. 가설대로 2016년부터 전국의 공공 자전거 터미널/주차장 설치 개수, 공공 자전거보유 대수는 증가하는 추세를 보였다. 추가로, 시간에 따른 변화이기 때문에 꺾은선 그래프로도 시각화를 해보았는데 확실히 꺾은선 그래프로 시각화한 쪽이 막대그래프보다 증감 추세를 알기 좋다는 생각이 들었다.
공공 자전거 서비스 활성화 정도 추이 (좌: 막대 그래프, 우: 꺾은 선 그래프)
가설 2. 공공 자전거 서비스가 활성화된 지역은 공공 자전거의 대여 건수도 많을 것이다. 검증 지표 : 가장 최근 연도의 지역별 공공 자전거 터미널/주차장 설치 개수, 공공 자전거보유 대수, 대여실적
✅ 가설 어느 정도 일치
가설은 어느 정도 일치했지만 시각화에는 실패했다. 기반 시설(공공 자전거 터미널/주차장, 공공 자전거)이 늘어날수록, 접근성이 좋아져 대여실적이 높아진 것은 수치를 통해 알 수 있었다. 하지만 기반 시설의 숫자가 대여 실적의 숫자보다 훨씬 작았다. 따라서, 기존에 계획했던 막대 그래프와 선 그래프의 혼합은 숫자 범위가 맞지 않아 함께 표현할 수 없었다. 그룹 막대그래프를 이용해 보아도, 숫자의 범위가 달라서 기반 시설의 수는 그래프에서 보이지 않았다.
지역별 공공 자전거 터미널/주차장 설치 개수, 공공 자전거보유 대수와 대여실적 (좌: 숫자 테이블, 우: 그룹 막대 그래프)
대안이 될 수 있을지는 모르겠지만, 지역별 공공 자전거 터미널/주차장 설치 개수, 공공 자전거보유 대수의 stacked bar chart와 대여실적의 막대 그래프를 따로 시각화한 후 나란히 놓고 보니, 지역별로 높이가 비슷한 것이 한눈에 보여 계획했던 시각화보다는 나아 보인다는 생각을 했다.
지역별 공공 자전거 터미널/주차장 설치 개수, 공공 자전거보유 대수 stacek bar chart (좌) / 대여실적 막대 그래프 (우)
가설 3. 공공 자전거 서비스 이용이 많아진 지역의 온실 가스 배출량은 줄어들었을 것이다. 검증 지표 : 2016년부터 2020년까지 공공 자전거 서비스가 있는 지역의 전체 온실가스 배출량, 2016년부터 2020년까지 지역별 공공 자전거 대여실적
❎ 가설 불일치
데이터 가공을 하면서 예상은 했지만, 가설은 완전히 불일치하였다. 광역시도별로 제공된 온실가스 배출량 raw 데이터와 달리, 공공 자전거 서비스 현황 raw 데이터는 지역이 행정 구역별로 세분화되어 있었다. 지역이 세분화된 공공 자전거 서비스 현황 데이터를 보면서 공공 자전거 서비스가 광역시 혹은 도의 전체적인 차원이 아닌 행정구역적인 차원에서 제공되고 있으므로 온실가스 배출량 데이터와 똑같이 광역시도별로 데이터를 맞추어 가공하는 것부터 오류가 있을 것이라는 생각이 들었다. 또한, 온실 가스 배출량에 영향을 미치는 요인은 너무 많다는 사실을 알고 있어서, 가설이 일치하진 않을 것이라 생각했다. 다만 교통 수단에 의한 온실 가스 배출량에 대한 데이터가 있었으면 어느 정도 일치하지 않았을까? 하는 생각이 들었다.
지역별 온실가스 배출량과 공공 자전거 대여실적
이번 과제는 정말 막막하고 힘들고, 제일 오래 걸렸다.
데이터 시각화를 해본 적이 없으니, 시각화 계획에서부터 어긋난 것이 많아서 유의미한 결과를 얻는 데에 시간을 많이 쏟아야 했다. 시각화 툴을 사용해 보는 것도 처음이라, 뜻대로 표현이 안 되는 것도 참 아쉬웠다. 하다 보면 잘하겄지...