데이터로 풀어본 일상 비즈니스 이야기 - 4
달리기를 배경으로 한 소설 중 『바람이 강하게 불고 있다』라는 작품이 있다.
하코네 역전 경주를 목표로, 서류상으로만 존재하던 대학 육상부가 기적적으로 팀을 만들어가는 이야기다. 얼핏 보면 클리셰한 소년 만화처럼 보이지만, 이상하게도 초반부는 한 번 보면 잊히지 않는다.
부상으로 커리어가 끊긴 졸업반 키요세 하이지는 어느 날 골목에서 도둑을 자전거로 추격하다, 도둑의 달리기 실력에 반하게 된다(?). 도둑을 잡은 뒤 알고 보니 그는 같은 대학의 신입생. 하이지는 그를 기숙사로 데려와, 다른 기숙사생들과 함께 하코네 역전을 노린다.
하지만 정작 그곳이 육상부 기숙사라는 사실은 아무도 모른다.
이 초반부 애니 장면을 통해 나는 이 작품을 알게됐다.
그리고 애니를 초반부 보던 차에 소설 원작이 있다는 사실을 알게되었다.
당시 회사에서 한 달에 한번 책을 구매해주는 제도가 있었고, 별다른 이유 없이 구입 도서 목록에 이 책을 넣어버렸다다. 회사 소유의 책이긴 했지만, 그래도 재미있게 읽었다.
오히려 애니는 뒷전으로 밀리고, 책을 순식간에 완독해버렸다. 애니는 오히려 완결을 보지 못했다.
그리고 책을 읽을수록 뛰고 싶다는 감정이 따라왔다. 이 책을 완독한 것이 아마 2024년.
우리나라에서 슬슬 러닝 열풍이 피어오르던 시점이었다.
나는 자전거를 주로 탔고, 달리기는 농구하러 가서 트랙 몇 바퀴 도는 정도였다.
개인적으로는 스프린트로 짧고 굵게 달리는 것을 좋아하지, 오랫동안 뛰는 건 좋아하지 않는다.
그런 나에게 이 소설은 이상할 만큼 달리기 욕망을 부채질했다.
달리기를 하며 느끼는 묘사를 보고 있으면, 나도 달리고 싶다는 생각이 든다는 느낌이랄까.
그래서 러닝에 관심은 있지만 아직 입문하지 못했다면 이 소설을 꼭 권하고 싶다.
정말로, 마지막 장을 덮는 순간 자신도 모르게 운동화를 꺼내는 경험을 하게 될지도 모른다.
물론 난 여전히 단거리만 스프린트로 짧게 달리는 중이다.
러닝에 깊이 빠진 지인과 날씨 이야기를 하다 그가 패션 러너들에 대한 이야기를 한 적이 한번 있다.
"요즘 날씨가 추워져서 패션 러너들이 한강에서 많이 안 보이네요."
맞는 말이다.
실제로 한강에 사람이 덜 보이는 것도 맞고, 날씨가 추워진 것도 맞다.
인간의 야외활동은 날씨와 뗄래야 뗄 수 없는 관계를 지니고 있다.
어쩌면 우리를 밖으로 나가게 하고, 움직이게 하는 것은 인간의 의지보다는 날씨의 의지가 더 강하게 작용하는 것이 아닐까?
인간의 선택은 사실 환경에 의해서 많이 좌우된다.
극단적으로 우리가 다시 태어난다면, 지금과 크게 다른 인생을 살아갈까?
물론 전제조건은 동일한 환경에서 태어났다는 가정 하에 말이다.
내 생각은 크게 다르지는 않을 것 같다고 생각한다.
왜냐면 인간의 사고와 행동은 자신이 속한 환경에 의해서 많이 좌우되기 때문이다.
그렇다면 여기서 한 발자국 더 나아가 보자.
날씨의 의지가 얼마나 되어야 우리는 야외활동 의지를 불태울 수 있까?
우리는 이를 데이터로 분석해보도록 하겠다.
서울시 열린데이터 광장의 방문자 및 마라톤 데이터를 활용하여 본격적으로 데이터 분석을 해보도록 하겠다.
방문자 VS 러너
방문자: 월 평균기온이 15도 언저리에 있을 때 방문자 수가 가장 높은 것을 볼 수 있다.
러너: 월 평균 기온 10도 언저리에서 방문자가 가장 높은 것을 볼 수 있다.
나는 사실 위 그래프를 보고, 러너들은 날씨에 상관없이 공원에 가서 달릴 것이라고 예상했고, 방문자수는 날씨나 외부환경에 큰 영향을 받을 것이라고 생각했다.
나의 경험상 한강 방문자는 외부 요인(이벤트, 날씨 등)에 민감하고, 러너들은 외부 요인에 덜 민감하다는 인식을 갖고 있었기 때문이다.
좀 더 구체적으로 한강 전체 공원의 방문자와 러너들의 속성을 살펴보기 위해, 월별 방문자의 표준편차 및 중앙 절대 편차 CV를 확인해보도록 하자.
| park_name | stdev_visitors | stdev_runners |
| 강서한강공원 | 0.28 | 0.47 |
| 광나루한강공원 | 0.35 | 3.16 |
| 난지한강공원 | 0.31 | 0.71 |
| 뚝섬한강공원 | 0.24 | 0.38 |
| 망원한강공원 | 0.23 | 0.39 |
| 반포한강공원 | 0.78 | 1.82 |
| 양화한강공원 | 0.68 | 0.98 |
| 여의도한강공원 | 1.09 | 0.42 |
| 이촌한강공원 | 0.53 | 0.57 |
| 잠실한강공원 | 0.38 | 0.52 |
| 잠원한강공원 | 0.37 | 0.25 |
여기서 CV란 Coefficient of Variation(변동계수)라고 불리우는데, 구하는 방법은 아래와 같다.
CV = 표준편차 / 평균
robust CV = 중앙 절대 편차 / 중앙값
이렇게 한 이유는 방문자의 수는 모수가 큰데, 러너의 수는 모수가 작기 때문에 표준편차나 중앙값 자체가 커지는 불상사가 일어난다.
그래서 이 부분을 평균과 중앙값으로 나눠 숫자를 정규화하는 과정이라고 볼 수 있다.
이렇게 정규화하게 되면 표준편차 혹은 중앙 절대 편차의 값을 비율로 볼 수 있기 때문에, 모수에 상관없이 비율로 비교할 수 있다.
여의도 한강 공원을 제외하면, 방문자의 CV가 더 낮은 것을 확인할 수 있다.
아마도 여의도 한강공원의 경우 불꽃놀이나 큰 이벤트가 펼쳐질 경우 방문자수가 확 증가하기 때문에, 방문자의 변동폭이 크다고 유추해볼 수 있을 것 같다.
하지만 그 외 공원의 경우 방문자의 변동폭이 러너들의 변동폭보다 작은데, 방문객수는 그 수의 변동이 크지 않으나, 러너들의 수는 변동이 더 크다라고 해석할 수 있다.
하지만 여기서 의문이 생기는데, 여의도 한강공원처럼 극단값(구체적 데이터는 밑에서 설명할 Pattern Studio에서 자세히 살펴볼 수 있다),이 생길 경우 CV에 문제가 있는 것은 아닐까?라는 의문이 생긴다.
그렇다면 이런 극단값의 오류를 피하기 위해 상위 5%, 하위 5%를 제외한 CV를 사용해보도록 하겠다.
| park_name | cv_visitors_winsor | cv_runners_winsor |
| 강서한강공원 | 0.47 | 0.72 |
| 광나루한강공원 | 0.29 | 1.42 |
| 난지한강공원 | 0.54 | 0.81 |
| 뚝섬한강공원 | 0.35 | 0.83 |
| 망원한강공원 | 0.30 | 0.48 |
| 반포한강공원 | 0.71 | 0.91 |
| 양화한강공원 | 0.50 | 0.87 |
| 여의도한강공원 | 0.80 | 0.51 |
| 이촌한강공원 | 0.36 | 0.59 |
| 잠실한강공원 | 0.31 | 1.01 |
| 잠원한강공원 | 0.57 | 1.45 |
상위5%, 하위5%를 뺀 CV를 구했으나, 여의도 한강공원을 제외하고 다른 공원은 방문자의 CV가 작다, 즉 방문자의 변동성이 적다는 것을 확인할 수 있다.
잠시 여기서 표준편차와 중앙절대편차에 대해 살펴보며, 여기서 왜 중앙 절대 편차를 사용한 roubst CV를 쓰는지 이야기 해보도록 하자.
표준편차:
- 정의: 평균에서 각 데이터가 떨어진 제곱값들의 평균의 제곱근을 구하는 방법.
- 특징: 모든 데이터 값의 제곱을 사용하기 때문에 극단값의 영향을 크게 받음.
중앙절대편차:
- 정의: 데이터의 중앙값에서 각 데이터가 떨어진 절대값들의 중앙값을 구하는 방법.
- 특징: 평균보다 중앙값을 이용하므로, 극단값의 영향을 적게 받음.
| park_name | med_visitors | med_runners | mad_visitors | mad_runners | robust_cv_visitors | robust_cv_runners |
| 광나루한강공원 | 115700 | 313.5 | 21877.5 | 313.5 | 0.19 | 1.00 |
| 망원한강공원 | 85609 | 12847 | 16928 | 3277 | 0.20 | 0.26 |
| 잠실한강공원 | 144685 | 2219.5 | 29740 | 1752 | 0.21 | 0.79 |
| 이촌한강공원 | 90056 | 2559 | 19614 | 926 | 0.22 | 0.36 |
| 뚝섬한강공원 | 565445 | 11329 | 157940.5 | 5744.5 | 0.28 | 0.51 |
| 잠원한강공원 | 74957.5 | 85 | 25729 | 85 | 0.34 | 1.00 |
| 강서한강공원 | 69808 | 4107 | 26301 | 2503.5 | 0.38 | 0.61 |
| 양화한강공원 | 111036 | 2660 | 46215.5 | 1050.5 | 0.42 | 0.39 |
| 난지한강공원 | 74901 | 2353 | 33119.5 | 903.5 | 0.44 | 0.38 |
| 반포한강공원 | 189324 | 5129 | 93026.5 | 4257 | 0.49 | 0.83 |
| 여의도한강공원 | 249851 | 21216 | 169063 | 7989.5 | 0.68 | 0.38 |
위 데이터는 각 공원 러너수와 방문자수를 중앙값, 중앙절대편차 그리고 CV(Robust CV)로 나타내 수치이다.
여의도 한강공원을 제외하고는 대부분의 공원에서 방문객의 Robust CV가 더 적다는 것을 확인할 수 있는데, 내가 예측했던 방문객의 숫자가 들쑥날쑥 하는 것보다 러너의 숫자가 더 들쑥날쑥해진다는 사실을 확인할 수 있었다.
위에서 본 것과 같이 10~15도 언저리에서 한강 공원 방문자와 러너의 수가 증가하는 것을 살펴볼 수 있는데, "온도에 민감한 것은 러너보다는 공원 방문자일 것이다"라는 나의 가설은 틀렸고, 오히려 방문자보다 러너들이 더 온도에 민감하다는 사실을 우리는 데이터를 통해 확인해볼 수 있었다.
그래서 바람이 강하게 불면 러너들은 아마 공원에서 보기 힘든게 아닐까 싶으나...
2023년 데이터는 러닝붐이 일기 전이어서, 러닝하는 사람들의 숫자가 적은 것도 데이터 관측 수치와 연관이 있을 것 같다.
그래서 2024년 혹은 2025년 데이터가 나오게 되면, 곧바로 데이터를 분석해보도록 하겠다.
조금 더 상세한 데이터를 보고 싶다면 Replit을 통해 1시간만에 제작한 나의 Pattern Studio에서 볼 수 있다.
Pattern Studio(데이터 패턴을 통해 행동 양식을 파악하기 위한 데이터 인사이트 웹사이트)
https://pattern-studio--nakknock.replit.app/
지금까지 내가 만든 데이터 테이블의 상세 내역 및 시각화 그리고 뉴스레터 신청을 받기 위해 만들었다.
이곳에서 작성된 시각화 그래프를 브런치 글에 넣어 설명하면 독자들에게 훨씬 더 직관적으로 다가올 것이다.
조금 더 상세한 내용이 알고싶다거나, 요약된 슬라이드 PDF 자료를 얻고 싶다면 뉴스레터 신청을 해보도록 하자. 글이 업데이트 되는 날마다 메일로 요약된 슬라이드 자료가 갈 예정이다.