分析レポート
リールの勝ち型 — 定義・因数分解・実装への反映
参照リールから何を取り出し、どう言語化し、それがシステムのどこに入ったか。実装ランブックの姉妹編です。
対象: P1(多言語テキスト)× Phase 0 / 分析は人手、成果物のみDBへ
01
全体像 — 分析はシステムの外、成果物だけが中に入る
CLAUDE.md の「P1でやらないこと」に成果分析が含まれるため、この工程は人手で回します。接点は prompt_template の1行だけです。
Fig.1 — 分析ループと P1 の境界
02
「勝ち筋のあるリール」の定義
他人のインサイトは取得できないため、可視の数値だけで判定します。同一アカウント内で比較することで、フォロワー層とジャンルを定数化しています。
Fig.2 — hit / miss の判定基準
伸びたリールだけを見ても、伸びた理由は分からない
- hit だけ10本並べても、共通点が「勝因」なのか「そのジャンルなら全部そう」なのか区別できません
- 同一アカウントの miss と対にすることで、変数が投稿の作りだけに絞られます。ここが最も安く効きます
03
因数分解のスキーマ — A面とB面を分ける
P1の出力はテキストのみです。テキストで再現できる層(A面)と撮影・編集の層(B面)を最初に分離しないと、ギャップ表が「動画が作れていない」で埋まり使えなくなります。
Fig.3 — 1本のリールを分解したときの層構造
分解の原則
- 観測値だけを埋める。読み取れない項目は空欄にし、推測で補わない
- 同じスキーマを、後で自分の出力にもかける。だから項目を固定する
04
分解して分かったこと
hit群と miss群で値が分かれた項目だけを採用します。差が出なかった項目が判明することにも価値があります — そこに労力を割かなくてよいと分かるからです。
差が出た項目 採用
緑=hit群 / 灰=miss群。n=6+6
差が出なかった項目 不採用
- テロップのフォント・色 — hit / miss ともにばらつく
- BGMがトレンド音源か — hit にも非トレンドが混在
- 尺の長短 — 15〜40秒に散らばり傾向なし
- 絵文字の数 — 差なし
これらは指示に書かない
- 根拠のない項目をテンプレに混ぜると、次に検証できなくなります
05
言語化した勝ち型 — 7項目
01 / hook
15文字以内の問いかけ
店名から始めない
02 / structure
4幕
0-2 / 2-9 / 9-16 / 16-21秒
03 / subtitle
1行13字・1画面2行
言語ごとに上限が変わる
04 / voice
話し言葉・1文長め
字幕の連結にしない
05 / caption
1行目に数字
価格・年数・本数など
06 / cta
末尾で保存を促す
プロフィール誘導より先
07 / hashtag
12個前後
地名4・ジャンル5・大3
— / 保留
n<3 の傾向
仮説として別記。指示に入れない
06
実装への反映 — 7項目がどこに入ったか
設計制約1(構成パターンをコードに書かない)を守っていたため、大半はDBの1行の書き換えで済みます。
Fig.4 — 勝ち型から実装への写像
07
ギャップ表 — 現行出力と勝ち型の差
| 項目 | 勝ち型 | 現行出力 | 判定 | 手当ての置き場所 |
| hook.chars | 15字以内 | 34字 | 不一致 | prompt_template.body |
| hook.type | 問いかけ | 断言(店名始まり) | 不一致 | prompt_template.body |
| structure.beats | 4幕 | 2幕 | 不一致 | 構造化出力スキーマ(要コード変更) |
| subtitle.max_chars | 13字 | 26字 | 不一致 | language テーブルの値 |
| caption.first_line | 数字を含む | 形容詞始まり | 不一致 | prompt_template.body |
| cta.action | 保存を促す | なし | 不一致 | prompt_template.body |
| glossary 表記 | 辞書どおり | 辞書どおり | 一致 | 手当て不要 |
| voice / display 分離 | 文体が別 | 字幕の連結 | 部分 | prompt_template.body |
8項目中6項目は、コードを触らずに直る
- 設計制約1(構成パターンをコードに書かない)を守っていたことの、これが具体的な見返りです
- コード変更が要るのは structure.beats のみ。ここだけ計画→承認→実装の手順を踏みます
08
P1の範囲との関係
システムに入れたもの
prompt_template の本文(勝ち型5項目)
language.subtitle_max_chars の値
- 構造化出力の beats(1箇所のみコード変更)
入れなかったもの
- 分解ツール・成果分析機能 — P1の「やらないこと」
- B面(カット割り・BGM)の指示 — 撮影ガイドとして人手側へ
- n<3 の仮説 — 検証できるまで保留
次の更新は、自分の投稿が10本たまり hit / miss を自分のアカウント内で判定できるようになった時点です。そのとき差し替えるのは、原則 prompt_template の1行だけで済みます。