こんにちは、学びの探求者です。
普段はnoteで活動しています。
2025年のQiitaアドベントカレンダーでは、
「ノーコード/ローコードで、自分のコンテンツ基盤を自動化していく」
をテーマに、25日間の仕組みづくりを記録していきます。
ぜひ、応援してください。
昨日 Day8 では、
シングル/アルバムの情報をまとめて 曲マスター(songs)シート を作りました。
今日はそのデータを使って、
- どの曲がライブでよく演奏されているのか?
- デビュー曲とカップリングではどれくらい差があるのか?
- 最新曲はどのくらい披露されているのか?
といった ライブ出演頻度(live_count)をスコア化し、比較できる状態にする のが Day9 のゴールです。
今日やったこと
1. live_count を集計して songs シートに統合
セットリスト(setlists シート)に入れたライブ情報から、
曲ごとに出演回数を COUNTIF 的に集計し、songs に反映しました。
例(songs シート):
| song_name | release_type | release_name | release_year | is_single_title | is_coupling | is_album_track | is_unit_song | live_count | memo |
|---|---|---|---|---|---|---|---|---|---|
| ええじゃないか | single | ええじゃないか | 2014 | 1 | 0 | 1 | 0 | 25 | デビュー曲 |
| バンザイ夢マンサイ! | single | ええじゃないか | 2014 | 0 | 1 | 1 | 0 | 4 |
※ live_count はライブ出演回数の合計
2. ライブ出演頻度スコア(score)列を作成
Day9 のシンプルなスコア式はこれです👇
= I2 * (1 + E2*0.2 + F2*0.1 + G2*0.1)
意味:
- 基本はライブ回数(I列)
- シングルA面なら +20%
- カップリングなら +10%
- アルバム収録曲なら +10%
ライブ実績に “曲の格” を少しだけ加味するイメージです。
3. スコアを songs シートに反映した結果
スコアを入れると、直感に近いランキングができました。
例:
| 曲名 | live_count | score |
|---|---|---|
| ええじゃないか | 25 | 30 |
| ズンドコ パラダイス | 13 | 20 |
| 人生は素晴らしい | 6 | 13 |
| アンジョーヤリーナ | 4 | 10 |
(数字は例)
スコアを入れることで、
「どの曲が“鉄板曲”なのか?」
「どの曲が“レア曲”なのか?」
が一気に見える化されました。
🔍 Day10 につながる違和感
スコアを入れていく中で、ひとつ大きな気づきがありました。
「古い曲ほどスコアが高くなりやすい」問題
ライブ出演回数は リリース年の差を反映してしまう ため、
- 2014年デビュー曲 → 10年間ライブで披露できる
- 2023年の曲 → まだライブ数が少ない
という “時間バイアス” が自然と乗ってしまいます。
結果:
- 昔の曲が強すぎる(当たり前だけど不公平)
- 新曲の「愛され度」が見えない
Day10 のテーマ:
ライブ頻度 × 経過年数で “真の出演率” を計算する
具体的には:
- 経過年数(age)
- 年平均ライブ登場数(live_count / age)
- 時間補正スコア(decay × score)
などを使って、
古い曲も新しい曲も公平に比較できる “補正スコア” を作ります。
この補正を入れると
「実際に今よく歌われている曲ランキング」
が見えるようになります。
明日の Day10 はもっと楽しくなる
今日は「生の出演回数でのスコア化」まで進みましたが、
Day10 では曲年齢を考慮した より正確なライブ出演指数 を作ります。
ライブ曲データがこういう分析につながるの、めちゃくちゃ楽しいですね。
明日もよろしくお願いします!