たきこみの丸太

暇だった。

ホロライブ4期生3D配信 チャット密度

動画毎チャット密度の計算が間違っていたので修正。動画時間のグルーピング指定が間違っていた。ついでにもっとグルーピングを間違えて、ホロライブ4期生の3D配信ライブにて、1分間毎のチャット数をグラフ化してみた。
f:id:takikomiprogramming:20200731114432p:plain
横軸:放送時間(分)
縦軸:チャット数。

動画平均で見るとそれ程差は無いが、43分地点の桐生ココの山が目立つ。SSS英語版のタイミングかと思ったが、その前のチャットが朝ココ商品として画面に現れるタイミングだった。
メンバー全員最も山が高い場所は、チャットを送ると画面に何らかの変化が発生するタイミングだった。

これをチャット数ではなく、スパチャ金額を基準にしてみると、こうなる。
f:id:takikomiprogramming:20200731123555p:plain
横軸:放送時間(分)
縦軸:スパチャ金額

基本的な形はチャット数のグラフと似ているが、チャット数では見えなかった天音かなたの山が目立つ。19分地点はPP雑談、桐生ココの山を超えた40分地点はぼっちプリを撮るタイミングだった。どちらもアマネカナッタの直後なので、アマネカナッタに向かって投げられた可能性もある。



SQL

処理としては、不定スパンでグルーピングするなら、CASE分割する必要があるが、固定スパンでグルーピングするなら、わり算の答えグルーピングするだけで行ける。

SELECT
    CASE
        WHEN t_c.video_offset_time_msec = 0 THEN 'time_span_00000000'
        WHEN t_c.video_offset_time_msec BETWEEN 1 AND 180000 THEN 'time_span_00000001'
        WHEN t_c.video_offset_time_msec BETWEEN 180001 AND 360000 THEN 'time_span_00000002'
        WHEN t_c.video_offset_time_msec BETWEEN 360001 AND 540000 THEN 'time_span_00000003'
        WHEN t_c.video_offset_time_msec BETWEEN 540001 AND 720000 THEN 'time_span_00000004'
        WHEN t_c.video_offset_time_msec BETWEEN 720001 AND 900000 THEN 'time_span_00000005'
        WHEN t_c.video_offset_time_msec BETWEEN 900001 AND 1080000 THEN 'time_span_00000006'
        WHEN t_c.video_offset_time_msec BETWEEN 1080001 AND 1260000 THEN 'time_span_00000007'
        WHEN t_c.video_offset_time_msec BETWEEN 1260001 AND 1440000 THEN 'time_span_00000008'
        WHEN t_c.video_offset_time_msec BETWEEN 1440001 AND 1620000 THEN 'time_span_00000009'
        WHEN t_c.video_offset_time_msec BETWEEN 1620001 AND 1800000 THEN 'time_span_00000010'
    END AS time_span
    ,COUNT(t_c.id)
FROM channels t_ch
INNER JOIN videos t_v ON t_ch.id = t_v.channel_id
INNER JOIN chats t_c ON t_v.id = t_c.video_id
WHERE
    t_v.id = 'ZUW6CcY-Yf0'
GROUP BY
    time_span
ORDER BY
    time_span
SELECT
    t_c.video_offset_time_msec / 60000 time_span
    ,COUNT(t_c.id)
FROM channels t_ch
INNER JOIN videos t_v ON t_ch.id = t_v.channel_id
INNER JOIN chats t_c ON t_v.id = t_c.video_id
WHERE
    t_v.id = '25wGzLctaj0'
GROUP BY
    t_c.video_offset_time_msec / 60000
ORDER BY
    t_c.video_offset_time_msec / 60000