analyzing-competitor-youtube-content-strategy
analyzing-competitor-youtube-content-strategy について
競合チャンネルの最近の動画をもとに、YouTube コンテンツ戦略を分析するスキルです。トピックや形式の分類、指標の算出、傾向と上位動画の整理をマーケティング分析向けに行います。
主な機能
- 01競合動画のスクレイピング
- 02動画のトピックと形式の分類
- 03再生数とエンゲージメント指標の算出
- 04高パフォーマンス動画の特定
- 05自社チャンネルとの任意比較
活用シーン
- 01競合の実績傾向をもとにしたコンテンツ計画
- 02反応の高い動画形式やトピックの発見
- 03競合チャンネルと自社チャンネルの比較
MCP 対応
Apify MCP が利用可能な場合、`apidojo~youtube-scraper` Actor を実行して動画を取得できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill analyzing-competitor-youtube-content-strategyインストール後、Claude Code で/analyzing-competitor-youtube-content-strategyを入力して読み込まれたか確認します。
詳細
競合のYouTubeコンテンツ戦略を分析する
競合のYouTubeチャンネルの直近20〜50本の動画を分析し、リバースエンジニアリングします。どの動画トピック、形式、長さが最も多くの再生回数とエンゲージメントを獲得しているかを特定します。
前提条件
APIFY_TOKEN環境変数が設定されていること- 任意:Apify MCP サーバーがインストールされていること
入力
| パラメーター | 型 | 必須 | デフォルト | 備考 |
|---|---|---|---|---|
startUrls | array | 任意 | [] | YouTube の URL — チャンネル、再生リスト、Shorts、検索結果 |
youtubeHandles | array | 任意 | [] | YouTube チャンネルのハンドル(例:@kurzgesagt) |
getTrending | boolean | 任意 | false | トレンド動画を取得 |
keywords | array | 任意 | [] | 検索キーワード |
gl | string | 任意 | us | 結果の国コード(例:US、GB) |
hl | string | 任意 | en | 言語コード(例:en、de) |
uploadDate | string | 任意 | all | アップロード日のフィルター:any、hour、today、week、month、year |
duration | string | 任意 | all | 動画の長さのフィルター:any、short、long |
features | string | 任意 | all | 機能のフィルター:4k、hd、live、cc、3d、hdr など |
sort | string | 任意 | r | 検索結果の並び順 |
maxItems | number | 任意 | 無制限 | 返す動画の最大数 |
customMapFunction | string | 任意 | — | 各出力オブジェクトを変換する JavaScript 関数 |
ワークフロー
Progress:
- [ ] Step 1: Scrape competitor's recent videos
- [ ] Step 2: Classify video types and topics
- [ ] Step 3: Calculate performance metrics
- [ ] Step 4: Identify patterns and top performers
- [ ] Step 5: (Optional) Compare with own channel
- [ ] Step 6: Deliver strategy report
ステップ 1:チャンネルをスクレイピングする
推奨 — run_actor.js(待機、出力、ファイル保存を自動で処理します):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~youtube-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~youtube-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~youtube-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
環境または
.envファイルでAPIFY_TOKENを設定する必要があります。
Apify MCP が利用できる場合:
Tool: apify:run-actor
Actor: "apidojo~youtube-scraper"
Input:
{
"startUrls": [{"url": "[COMPETITOR_CHANNEL_URL]"}],
"maxResults": 30,
"type": "video"
}
REST API による代替手段:
curl -X POST "https://api.apify.com/v2/acts/apidojo~youtube-scraper/runs?token=$APIFY_TOKEN" -H "Content-Type: application/json" -d '{"startUrls": [{"url": "https://www.youtube.com/@competitorhandle"}], "maxResults": 30, "type": "video"}'
ステップ 2:動画を分類する
video_type:
TUTORIAL = title contains "how to", "step by step", "guide", "tutorial"
LIST = title contains "top [N]", "[N] best", "[N] things", "mistakes"
REVIEW = title contains "review", "tested", "worth it", "vs"
THOUGHT_LEADERSHIP = opinion, trend analysis, "the future of", "why"
NEWS = title contains news, announcement, breaking
CASE_STUDY = "how [brand] grew", "inside", "behind the scenes"
video_length_tier:
SHORT = < 5 min
MEDIUM = 5–15 min
LONG = 15–30 min
DEEP_DIVE = > 30 min
ステップ 3:パフォーマンス指標
view_ratio = viewCount / subscriberCount # corrected by subscriberCount at time of analysis
engagement_rate = (likeCount + commentCount) / viewCount * 100
publish_cadence = total_videos / (date_range_weeks) # videos per week
最もパフォーマンスの高い動画: viewCount で並べ替えます。また、再生回数は少ないものの、エンゲージメント率がチャンネル平均の2倍を超える「隠れた逸品」も特定します。
ステップ 4:特殊なケース
- チャンネル開設から間もない(6か月未満、動画が20本未満):分析対象の
videos_to_analyzeを取得可能な全動画に減らし、サンプル数が限られていることを記載します - すべての動画の再生回数が非常に少ない(動画あたり1K未満):チャンネルが苦戦しているか、ニッチが非常に小さい可能性があります。比率だけでなく、実数を提示します
- 非常に話題になった動画が平均値を大きく歪めている:平均値と併せて再生回数の中央値を報告し、外れ値として明示します
- チャンネルが複数の言語で投稿している:言語ごとにグループ化し、それぞれのグループを個別に分析します
出力形式
# Competitor YouTube Strategy: [CHANNEL_NAME]
Videos analyzed: [N] | Subscribers: [N] | Avg Views: [N] | Avg Eng Rate: [X%] | Date: [DATE]
## Content Mix
| Video Type | % of Videos | Avg Views | Avg Eng Rate | Best Example |
|-----------|------------|-----------|-------------|-------------|
| Tutorial | [X%] | [N] | [X%] | [title] |
| List | [X%] | [N] | [X%] | |
| Review | [X%] | [N] | [X%] | |
## Video Length Performance
| Length Tier | % | Avg Views | Avg Eng Rate |
|------------|---|-----------|-------------|
| Short (< 5min) | [X%] | [N] | [X%] |
## Top 5 Videos (by Views)
| # | Title | Type | Views | Likes | Comments | Length | Eng Rate |
|---|-------|------|-------|-------|----------|--------|---------|
## Publishing Cadence
Videos/week: [X] | Best day to publish: [Day] | Monthly trend: [↑/↓/flat]
## Key Opportunities vs. Their Strategy
1. [Gap: e.g. "No case studies — this format gets 3× their avg views when they do it"]
2. [Opportunity]
3. [Their weakness]
トラブルシューティング
スクレイパーがチャンネルページを返すものの、動画がない:チャンネル名をキーワードにして動画を直接検索してみてください。一部のチャンネル URL では末尾に /videos が必要です。
確立されたチャンネルなのに再生回数が非常に少ない:チャンネルが衰退している可能性があります。最新動画の公開日を確認してください。休止状態かもしれません。
スクレイピング結果からチャンネル登録者数を特定できない:チャンネル登録者数が取得できない場合は、チャンネルの健全性を測る代替指標として、動画の再生回数と動画数の比率を使用します。