클리앙 모두의공원 게시글 분석기(두번째)

Updated:

첫번째 클리앙 모두의공원 게시글 분석기에 이은 두번째 분석기이다. 첫번째 분석기 글에서 데이터 수집 & 가공 방법, 데이터 해석을 진행하였다. 그 이후에 수집한 데이터가 아까워서 좀 더 분석을 진행할 여지가 없는지 고민하다가 게시글의 조회수/댓글수/공감수 비율을 분석해보기로 했다.

1. 도입 - 빅데이터를 추가 분석해보자

첫번째 분석기에서 파이썬 웹 크롤러를 통해서 확보한 데이터가 이대로 분석을 종료하기에는 아까운 생각이 들었다. 이 데이터에서 좀 더 분석을 통해서 추가 결론을 도출내고 싶었다. 그래서 생각해낸 아이디어가 조회수/댓글수/공감수 비율을 분석하기로 했다.

각 게시글의 조회수/댓글수/공감수는 해당 게시글에 대한 많은 이야기를 해준다. 글이 사람들의 시선을 끌만한 제목을 달고 있는지.. 흥미로운 주제여서 이야기에 참여하고 싶게 만들고 있는지.. 사람들의 지지를 받는 이야기를 하고 있는지.. 등에 대한 힌트를 준다. 물론, 매우 복잡하고 여러 조건들이 영향을 주고 영향을 받겠지만 매우 단순화시켜 본다면 강렬한 제목은 조회수로, 참여 의지는 댓글수로, 사람들의 지지는 공감수로 발현될 것으로 추측된다.

많은 조회수를 기록했지만 그에 비해 낮은 댓글수/공감수를 기록했다만, 섹시한 제목으로 사람들의 많은 이목을 이끌었지만 본문 글은 별 볼일이 없다고 생각할 수 있을 것이다. 그래서, 조회수/댓글수/공감수 비율을 조사해서 이 비율이 어떤 이야기를 담고 있는지 분석해보기로 했다.

2. 수집 데이터 가공 & 시각화

이전 글에서 사용한 파이썬 스크립트와 데이터들이 공개된 GitHub repo에 추가로 작업을 진행하였다. 이번 글에서 사용된 파이썬 스크립트와 결과는 아래 폴더에 담아 repo에 추가해두었다.

먼저, 웹 크롤링으로 수집한 1200개 게시물의 시간 별 데이터를 모두 조사해서 데이터를 한 파일로 모으는 작업을 진행하였다. 01_rawdata 폴더에는 매 1시간 단위로 24시간 동안 관련 데이터를 수집한 결과가 저장되어 있다. result.csv에는 게시물 별로 24시간 경과 후 측정 데이터만 뽑아서 저장하였다. 즉, 1200개 게시물에 대한 생성 후 24시간 지난 시점의 조회수/댓글수/공감수 데이터를 모두 저장한 파일이 되겠다.

그럼 이 데이터를 기반으로 시각화를 진행해보자. 각 게시물의 조회수/댓글수/공감수를 기반으로 3D scatter 그래프를 그려보았다. 작아서 잘 보이지 않는다면, 클릭해서 링크된 html 페이지로 확인해보자. plotly의 인터랙티브 그래프 기능을 맛볼 수 있다.

None

그래프를 보면 일단 조회수는 댓글수와 공감수에 비해서 매우 크다. 당연히 그럴 것이 일단 게시물 조회를 해야지만 댓글이나 공감을 진행할 수 있기 때문이다. 그리고, 댓글수가 공감수 보다는 더 크다. 사람들이 댓글로 참가는 하지만 공감을 표시하지 않은 경우가 더 많은 것이다.

위 그래프는 X축(조회수), Y축(댓글수), Z축(공감수)으로 각 최대값을 지정하였다. 조회수는 10000, 댓글수와 공감수는 100으로 지정하여, 이를 넘는 데이터들은 아웃라이어로 보고 표시하지 않도록하였다. 이런 데이터가 포함되면 그래프의 표시 range가 너무 커져서 그래프 분석이 어려워지기 때문이다. 그럼에도 불구하고 전체 데이터가 궁금하다면, 이 페이지를 방문해서 학인해보자.

마지막으로 pandas dataframe에서 제공하는 간단한 통계적 분석을 진행해보자.

$ python3 clien_buzz_step08-5_calcul_avg.py result.csv
# x describe - 조회수 ##########
count     1200.000000
mean      3006.058333
std       4478.260773
min        101.000000
25%       1059.500000
50%       1863.000000
75%       3399.250000
max      62327.000000
Name: post_view, dtype: float64
# y describe - 댓글수 ##########
count    1200.000000
mean       10.957500
std        16.393077
min         0.000000
25%         3.000000
50%         7.000000
75%        13.000000
max       247.000000
Name: post_reply, dtype: float64
# z describe - 공감수 ##########
count    1200.000000
mean        4.392500
std        26.921969
min         0.000000
25%         0.000000
50%         0.000000
75%         1.000000
max       429.000000
Name: post_symph, dtype: float64

1200개 게시물 중에 조회수가 가장 많은 것은 게시물 id 13107008으로 62327을 기록했다. 다음으로 최다댓글수는 247로, 게시물 id 13103166이다. 마지막으로 대망의 최다공감수는 429로, 게시물 id 13087741가 차지했다. 어떤 게시물들이 많은 조회수/댓글수/공감수를 가지는지 궁금하면 한번씩 방문해보자.

1200개 게시물의 평균 조회수/댓글수/공감수를 확인해보자.

  • 조회수 : 3006.058333
  • 댓글수 : 10.957500
  • 공감수 : 4.392500

이를 조회수 1000개 기준으로 비율을 계산하면,
조회수:댓글수:공감수=1000:3.65:1.46이 된다. 달리 표현하자면 평균적으로 조회수 1000개 당 3.65개의 댓글과 1.46개의 공감이 발생한다. 이 비율을 기준으로 본인 글이 평균적으로 발생하는 댓글과 공감 보다 많이 발생했는지, 적게 발생했는지 확인할 수 있다.

3. 결론

클리앙 모두의공원 게시물들은 평균적으로 조회수 1000개 당 3.65개의 댓글과 1.46개의 공감이 발생한다.



Leave a comment