[분석] 스팀잇 '황금시간대'에 글을 올리자!

in #kr-dev7 years ago (edited)

0.

동일한 글을 썼더라도, 언제 올리냐에 따라 반응이 달라진다?

기왕 글을 썼으니 더 많은 스팀잇 유저들과 소통하고 싶은건 당연지사.
그런데 막상 몇 시에 올려야 좋을지는 잘 모르겠다.

  • 유저들이 접속을 덜 했을 때 글을 올려두면 나중에 접속하면서 피드 1순위로 보이지 않을까?
  • 혹은 한참 붐빌 때야 말로 즉각적인 반응을 받으며 널리 읽힐까? 오히려 묻힐려나?
  • 사실 황금시간대는 없고 그냥 랜덤이야말로 답일까?

아침에 기상하자마자 스팀잇 체크, 점심 때 커피 한 잔과 또 스팀잇, 퇴근하면서 스팀잇, 자기 전에도 스팀잇을 살피고 있다면... 당신은 스팀잇 중독자!

스팀 API를 통해 작은 궁금증을 해결해보자 한다.

1.

좋은 주말입니다 여러분 :) 일병 크립토 @hellocrypto 입니다.

그동안 군대 사지방 접속이 잘 안 되서 힘들었지만, 다행히 스팀 API 문서를 뽑아둬서 천천히 공부해볼 수 있었습니다. 실험 좀 이리저리 해본 뒤 나중에 '컴맹도 따라하는 스팀 API'(가제) 시리즈를 연재해볼까 합니다.

아무튼 바로 본론에 들어가겠습니다.

API 무엇?

API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. (위키피디아)

......? 스팀 API 무엇?

스팀이 개발자에게 스팀 기능을 쉽게 접속/사용할 수 있게 공개한 '약속'입니다. 예를 들자면, 보팅봇 처럼 업보트와 댓글을 코드를 통해 자동화 시킬 수 있죠.

이렇게 파이썬 언어를 통해 단 3줄로,

from steem import Steem
s = Steem()
s.get_account_count()

현재 스팀에 가입된 총 유저 수는 766255명이라고 알 수 있죠.

hellocrypto: 스팀님from steem import Steem, 님s = Steem() 유저 몇 명 있어요s.get_account_count()?
STEEM: 766255
hellocrypto: ...말이 짧다?

황금시간대를 알아내기 위해 kr 태그 '최신글'을 스팀 API를 통해 불러옵니다.

s.get_discussions_by_created({"tag": "kr", "limit": 3})

그럼 아래와 같이 글 하나당 수 많은 정보를 담은 결과가 돌아옵니다.

이중에서 이번 분석에 활용될 정보는:

  • pending payout value (PPV): 예상 보상
  • children: 댓글 수
  • net_votes: 업보트 수
  • created: 작성 일자/시간
  • author: 작성자
  • permlink: 글 고유 링크

이를 이용해 스팀잇 황금시간대를 알아볼 수 있는 방법은 무척 많겠지만,

이번 글에서 kr 태그를 가진 최신 글들을 마구 긁어와서 일주일 간 어느 요일, 어느 시간대에 올린 글이 PPV, 댓글, 업보트가 가장 많았는지 알아보겠습니다.

글 작성하기 앞서 사전 코딩해본 결과, 이상하게도 스팀 API를 통해 글을 불러오니 일주일 이상 과거 기록은 듬성듬성하게 돌아옵니다. 노드 설정 문제인지, API 자체 문제인지 아직 잘 모르겠네요.

어쩔 수 없이 2.12~16 기간, 즉 이번주 평일 기준으로 5일간의 글 정보를 다뤄보겠습니다.

2.

kr 태그의 최신글 목록을 받아오는 API는 아쉽게도 100개 제한이 있습니다.

s.get_discussions_by_created({"tag": "kr", "limit": 100})

분명 일주일 간 그 이상의 글이 발행됐을텐데 말이죠?

다행히 방법은 있습니다!

# 1. 최신 100개를 가져온 뒤 list에 저장하고,
newest_batch = s.get_discussions_by_created({"tag": "kr", "limit": 100})
# 2. 맨 마지막 글의 '작성자'와 '고유링크'를 기억해둡니다
author, permlink, created = newest_batch[-1]['author'], newest_batch[-1]['permlink'], newest_batch[-1]['created']
# 3. 그럼 처음 100개에 이어서 다음 100개를 불러올 수 있습니다
fetch_batch = s.get_discussions_by_created({"tag": "kr", "limit": 100, "start_author": author, "start_permlink": permlink})

이와 같은 방식을 계속 반복하다보면, 6일 전인 월요일 글까지 불러올 수 있죠 :)

그런 다음, 이번 분석에서 불필요한 16일(토), 17일(일), 그리고 11일(일)을 제거해주고 살짝 데이터 전처리를 해주면 준비 완료!

이번 주 평일 총 5일간 KR 태그를 지닌 글은 무려 8,031개!

  • 글 하나당 평균 약 5.43 PPV, 댓글 11.63개, 업보트 12.54
  • 최다 기록은 251.974 PPV, 댓글 251개, 업보트 934개

A-1. 요일별로 수익(PPV)이 다를까?

목요일, 그리고 특히 금요일이 다른 요일보다 살짝 더 높은 PPV를 보이네요.

A-2. 요일별로 업보트가 다를까?

금요일이 유독 높습니다.

아무래도 월요일 글들이 더 오래됐으니 금요일 대비 더 업보트가 누적되지 않았을까 싶었는데 그렇진 않네요.

A-3. 요일별로 댓글 수가 다를까?

화요일이 가장 댓글이 많네요.

수, 목, 금 순으로 점차 낮아지는걸 보니 시간에 따라 누적량의 차이가 여기에 적용된걸 수도 있겠네요?

B-1. 시간대별로 수익(PPV)이 다를까?

여러분이 가장 궁금했을 그래프입니다!

새벽과 아침이 가장 저조합니다.

황금시간대는 22시와 18시가 압도적입니다. 그리고 준(?)황금시간대는 23시, 12시, 19시네요.

그렇다면 이론상 목/금에 22시/18시에 쓰는게 이상적일 수도 있겠습니다 :)

B-2. 시간대별로 업보트가 다를까?

역시 22시에 폭발하네요.

B-3. 시간대별로 댓글 수가 다를까?

댓글 수가 낮은 시간대가 몇몇 보이네요.

새벽 올빼미들도 잠드는 4시, 저녁/퇴근 시간대의 18시가 가장 낮군요.

C-1. 업보트가 많을수록 PPV가 높을까?

C-2. 댓글이 많을수록 PPV가 높을까?

C 결과에서는 유의미한 패턴은 딱히 없습니다.

D. 요일별로 글 작성량

결과가 신기해서 코드가 잘못 됐나 싶었지만, 확인 결과 문제 없네요.

12일 월요일에 2,035개 글이 올라왔고, 금요일은 거의 반토막인 1,151개네요.

A 결과에서 금요일이 유독 PPV와 업보트 평균치가 다른 요일 비해 높은 이유가 여기서 밝혀지네요.

E. 시간대별로 글 작성량

역시 재밌는 결과네요.

저녁시간대 진입부터 늦밤까지 글 작성량이 상대적으로 현저히 낮습니다.

마치며,

결론내자면 스팀잇 평일 황금시간대는,

1. 목요일과 금요일 18시 혹은 22시
2. 요일 상관 없이 글 작성량이 낮은 저녁시간대도 괜찮아 보임
3. 시간대 상관없이 업보트 수는 비슷하나, PPV 생각하자면 새벽은 피하자

이번주 5일치 데이터로만 분석했기에 절대적인 결과는 아닙니다 :)

1월 전체로 분석했으면 더 정확한 결과였을텐데 아쉽네요.

스팀 API로 일주일 넘은 과거 기록 불러올 때 오류가 발생 이유를 빨리 찾아내봐야겠어요.

사실 황금시간대를 알아도 딱 맞춰 글을 올리는건 쉽지 않습니다.

그 외 많은 변수들도 있겠지만, 저희가 항상 스팀잇에 접속할 수 있는건 아니잖아요? 그래서 스팀잇에 글을 예약해서 올릴 수 있는 웹서비스를 차차 만들어볼까 합니다. 해외 서비스 몇 개 있긴 하지만 UI가 불편하고 무엇보다 영어입니다ㅠㅠ

제가 KR 커뮤니티에게 공헌하는 첫 프로젝트가 되지 않을까 싶습니다!

+) 아직 아이디어 단계로 매일 한 번 유저의 정보(팔로워 수, 댓글 수, SP 등등)를 기록하는 아카이브와 손쉬운 봇 생성기도 준비해보고 있습니다!

잠깐! 읽어보셨나요? :)
A. [EVENT] 팔로워 100 돌파 이벤트! (6 SBD)
B. [분석] 스팀잇에서 '성공'하고 싶어졌다면?

앞으로 작성될 주제들:
A. 알파고를 학습시켜 새로 '창조'하는 포켓몬!
B. ICO 투자 입문서 101

재밌었다면 업보트 & 리스팀 부탁드리며, @hellocrypto 를 팔로우 하시면 꾸준하고 알찬 글들을 만날 수 있답니다 :) 이상 현실ㅠㅠ 일병 크립토였습니다. 필승!

Sort:  

Cheer Up!

  • from Clean STEEM activity supporter

스스로 홍보하는 프로젝트에서 나왔습니다.
오늘도 좋은글 잘 읽었습니다.
오늘도 여러분들의 꾸준한 포스팅을 응원합니다.

와와, 세상에나 이렇게 분석하시는 분이 있다니요. 좋은 정보 잘 보고 갑니다.
by 스알못(스팀잇알지도못하는사람)

멋지네요

데이터는 분석해야 맛이죠 ^^

도움이 되는 글 잘 읽었습니다^^ 보팅&팔로우 하고 갑니다^^

정성스러운 분석 잘 봤습니다. 근데 SNS도 그렇고 이런 분석이 참 무의미 할 때가 있습니다. 정말 예상치 못하게 글이 터지기도 하니까요. 그래도 이런 분석을 참고하면 그 확률을 조금 더 높일 수 있을 것으로 기대합니다.

@speedwg 님 맞습니다 :) 이렇게 관계적인 측면이 높은 요소에서 절대적인 공식은 없더라구요. 그래도 참고사항은 되었으면 하는 마음에 작성해봤습니다! 다음엔 더 많은 데이터를 활용해 보다 신뢰도 높은 글을 준비해보겠습니다~

절대적인 답은 없지만 이런 빅데이터들을 계속 찾아나가면 최대한 근접한 결과값은 찾을 수 있을 것 같습니다 : )

궁금했지만 알기 힘들거나 추측했던 정보인데, 이렇게 분석을 통해보니 유용하네요^^ 해당 시간에 글을 집중해서 써봐야겠습니다. 분석글 잘 봤습니다.

읽어주셔서 감사합니다 :) 제 작은 분석이 조금이나마 도움이 됐다면 기쁘네요

잼나게 읽었습니다. 감사합니다.

좋은 분석글입니다.
목, 금요일 오후 6시, 10시. 기억해야겠어요!

감사합니다 :) 조만간 심화 후속 편도 올리겠습니다!

아주 좋은 내용 잘 읽었습니다

그런데 view count는 보상에 영향을 미치지 않는데 정책이 이렇게 짜여진 이유가 있는지 궁금합니다

view count는 프로그램적으로 얼마든지 늘릴 수 있는 허점이 존재합니다 :) 그리고 스팀잇 유저가 어떤 글이든 읽을 수는 있되, 업보트를 통해 '공감'을 표현해야 보상이 작성자에게 가는 현재 시스템이 맞지 않을까 싶네요.

Coin Marketplace

STEEM 0.16
TRX 0.17
JST 0.029
BTC 69280.52
ETH 2490.79
USDT 1.00
SBD 2.53