스팀잇에 글을 올리기 좋은 황금 시간대는 언젤까?steemCreated with Sketch.

in #kr7 years ago (edited)

번역글을 떠나서 주제를 잡고 직접 글을 써보려고했는데 도저히 글을 쓸만한 주제가 생각이 안나더군요. 곰곰히 생각을 해보다가 문뜩 1년전에 해외커뮤니티 레딧에서 본 이 글이 생각났습니다 : 레딧에 글을 올리기 가장 좋은 시간

이 개념을 똑같이 스팀잇에 적용하여 "스팀잇에 글을 올리기 가장 좋은 시간이 언젤까?"라는 생각이 떠올랐습니다. 많은 보팅을 받는 가장 좋은 방법은 당연히, 높은 퀄리티의 글을 올리는거겠지만, 분명 사람들이 많이 접속하는 특정 시간대가 있을것이며 해당 시간에 맞춰 포스팅을 하면 더 많은 보팅을 받을 수 있을겁니다.

새벽 4시에 글을 올린다고 가장을 해보면, 당연히 새벽에 깨어있는 유저들은 그닥 많지 않을거고 결과적으로 보팅을 적게받게되겠죠. 글을 올리기위한 가장 좋은 시간은 사이트들 마다 다르며, 유저들의 수에따라 달라지기도 합니다.

Steem은 오픈 소스라서 정말 다행이네요. 지금까지 만들어진 모든 포스팅들의 리스트를 얻을 수 있었고, 언제 포스팅을 했는지, 얼마의 보상을 받았는지의 리스트를 쉽게 가져올 수 있습니다. 이 데이터를 통계적으로 분석을 하면 제 질문의 답을 얻을 수 있을거 같았습니다.

이론

아마 사람들이 학교나 일이 끝나고 집에 오는 저녁쯤이 황금 시간대가 될 가능성이 높아보였습니다.

메인 페이지에 글을 올리는걸 목표로 하고있으시다면, 포스팅을 통해 스팀을 얻고 첫 페이지에 도달하는데 걸리는 시간을 고려해봤을 때 황금 시간대 보다 몇시간 일찍 글을 올리는게 좋을거 같습니다. 황금 시간대에 딱 맞춰 글을 올리기보단, 몇시간 일찍 포스팅을 해서 황금 시간대에 첫 페이지에 글을 올리는게 제일 많은 보팅을 받을 수 있겠죠.

제 이론에 따라서 추측을 해보면, 가장 이상적인 포스팅 시간은 오후 6시 정도입니다.

스크립트

Steem 블락체인에있는 모든 정보들을 가져와서 분석하기 위해서 이 파이썬 스크립트를 간단하게 작성해봤습니다. 되게 간단하게 코드를 짰기때문에 아마 더 나은 방법이 있을거같긴 하네요. 개발자 분들이 들으면 이상할지도 모르겠지만, piston에 stream_comments를 불러오는 부분에 버그가 있어서 pistion과 python-steem 를 동시에 써봤습니다.

from piston.steem import Steem
from steemapi.steemnoderpc import SteemNodeRPC
from collections import Counter
from datetime import datetime

counter = Counter()
postcounter = Counter()

start_block = 3145790 # 2016-07-12

rpc = SteemNodeRPC("ws://localhost:8090")
steem = Steem(node="ws://localhost:8090", nobroadcast=True)

counted = set()

for c in rpc.stream("comment", start=start_block):
    if c["parent_author"]:
        continue # only interested in posts, not comments

    identifier = "@" + c["author"] + "/" + c["permlink"]

    if identifier in counted:
        continue

    counted.add(identifier)

    try:
        post = steem.get_content(identifier)
    except:
        continue

    dt = datetime.strptime(post.created, "%Y-%m-%dT%H:%M:%S")

    print("\n" + str(dt))

    payout = float(post.total_payout_value.split(" ")[0]) + float(post.pending_payout_value.split(" ")[0])

    counter[dt.hour] = counter[dt.hour] + payout
    postcounter[dt.hour] = postcounter[dt.hour] + 1

    for i in range(24):
        if postcounter[i]:
            print(str(counter[i] / float(postcounter[i])))
        else:
            print("0")    continue # only interested in posts, not comments

    try:
        post = steem.get_content("@" + c["author"] + "/" + c["permlink"])
    except:
        continue

    dt = datetime.strptime(post.created, "%Y-%m-%dT%H:%M:%S")

    print("\n" + str(dt))

    payout = float(post.total_payout_value.split(" ")[0]) + float(post.pending_payout_value.split(" ")[0])

    counter[dt.hour] = counter[dt.hour] + payout
    postcounter[dt.hour] = postcounter[dt.hour] + 1


    for i in range(24):
        if postcounter[i]:
            print(str(counter[i] / float(postcounter[i])))
        else:
            print("0")

혹시 이 스크립트를 직접 실행해보고 싶으신분들은 로컬에 steemd node가 있어야합니다. steemd를 실행할때 불필요한 아웃풋들을 제거해야 깨끗한 결과물을 볼 수 있습니당: ./steemd --rpc-endpoint &> /dev/null,

실행하고 나면 숫자들을 보실 수 있을텐데, 그게 바로 하루 중 매 시간마다 포스팅으로부터 받는 페이아웃들의 평균을 계산한 숫자입니다.

결과

스크립트를 통해 얻은 숫자들을 LibreOffice를 이용해서 그래프를 그려봤습니다.
x좌표 값은 시간(UTC 기준), y좌표 값은 스팀달러를 뜻합니다.

pytthon-steem나 steemd의 문제인지는 잘 모르겠으나 몇몇 block에서 정보를 불러올때 오류를 뿜어 내서 한정적인 데이터 셋으로 분석을 진행하게됬습니다(2016년 7월 12일 - 2017년 1월 19일). 혹시 버그 픽스하는데 도움 주실 수 있다면 댓글로 피드백 주시면 감사합니다 :)

자! 한국의 시간대는 UTC+9 인걸 고려하며 황금시간대는 언제인지 알아봅시다.
그래프를 대충 분석하여 황금 시간대 3위를 선정해봤습니다.

  1. 새벽 1시 - 2시
  2. 아침 11시 - 12시
  3. 아침 7시 - 8시

그럼 포스팅할때 피해야할 시간대는 언제일까요?

  1. 오후 6시 ~ 7시
  2. 오후 4시 ~ 5시
  3. 오후 10시 ~ 11시

제 예상과는 틀리게 오후보단 오전에 글을 올리는게 최대한 많은 SBD을 받을 수 있다는 결론이 나왔네요. 다들 출근하면서 스팀잇에 접속했다가 밤 늦게 한번씩 접속하는 시간이 피크타임이 되는 것 같습니다. 아침 일찍 출근 하시거나 학교에 가셔야하는 분들이 아침에 글을 써서 올리는건 현실적으로 불가능한 일이기때문에 오후에 글을 미리 써두고, 아침에 일어나자마자 글을 올리는 것도 좋은 방법이 될거같습니다!

P.S

저의 주된 일은 프로그래밍이기 때문에 앞으로 이런 간단한 기술적 통계뿐만 아니라 직접 프로그램들을 개발해 배포하기도 할 예정입니다! 저도 개발 아이디어를 많이 생각해두긴 했는데, 혹시 유저분들이 원하는 게 있으시면 언제든지 요청해주세요. 팔로우는 언제나 환영입니다 :)

Sort:  

감사합니다. 안그래도 좀 궁금했습니다. ㅎㅎ 앞으로 더 좋은 정보 부탁드립니다. ㅎㅎ

좋은 정보감사합니다

일요일 잘 보내고계신가요? :)

통계학적으로 접근하니 수긍하게 되는 부분이 많네요.
독자의 반응률을 고려한다면 선호 시간대, 피해야할 시간대를 구분해야 겠습니다.

맞습니다! 저도 미국에 살지만 한국어로 글을 쓰기때문에 한국 시간을 고려해서 올리곤 했는데, 확실히 시간대에 따라 댓글 수라던지 많이 달라지는거같습니다

저도 비슷한 생각을 했었는데. 현실적으로 시간에 맞춰서 올리는게 가능하겠냐는 결론에 도출했습니다.

그래서 제생각엔 결국 돌고돌다..정공법이 가장 옮지 않을까 싶어요.

좋은글, 항상 꾸준함, 그리고 사람냄새 풍기는 따듯한 댓글들이요.
이게 가장 중요한거 같아요. ^^

네 결국엔 좋은 글을 올리면 어떻게든지 많은 분들이 호응을 해주시는거같습니다.
열심히 쓴만큼 보팅과 댓글을 받는 스팀잇의 시스템이 정말 좋은거같아요

재미있는 분석이네요~^^

감사합니다 ㅎㅎ!

상당히
흥미롭습니다

감사합니다 벤티님 :) 항상 글 잘보고있어요~

ㅎㅎ 저는 피해야 되는 시간에 많이 올리고 있네요. 스팀잇에 예약 발행 기능이 없어 어쩔 수 없네요.

이 글을 포스팅하고나서 예약 포스팅 기능을 만들어보기로 했습니다. 아마 다음 주 안에 완성되지 않을까 싶네요 :) 개발 완성하고나면 포스팅을 올릴 예정이니 팔로우해서 포스팅 받아보세요!

기대하겠습니다. 이미 팔로우하고 있습니다.

감사합니다! 이 뿐만 아니라 여러 아이디어를 갖고있고 개발할 예정이니 기대해주셔도 좋습니다 ㅎㅎ

좋은 정보 감사합니다! 국내의 포스팅만으로 한정했을때의 결과도 궁금하네요!

이 부분에 관해서도 조만간 글을 올릴 예정입니다! 기대해주세요 ㅎㅎ

아주 흥미로운 포스팅이네요. ㅎㅎ

감사합니다 :)

꿀정보 감사합니다! Dataisbeautiful 즐겨보는데 스팀에서도 이런글을 볼 수 있어서 너무 좋네요:)

앞으로 이런 글 자주올려야겠습니다 ㅎㅎ