mcpField
A
analyzing-competitor-youtube-content-strategy

analyzing-competitor-youtube-content-strategy

github.com/apidojo-ioマーケティング・グロース1813 回インストール24 週間前に更新
リポジトリ

analyzing-competitor-youtube-content-strategy について

競合チャンネルの最近の動画をもとに、YouTube コンテンツ戦略を分析するスキルです。トピックや形式の分類、指標の算出、傾向と上位動画の整理をマーケティング分析向けに行います。

主な機能

  1. 01競合動画のスクレイピング
  2. 02動画のトピックと形式の分類
  3. 03再生数とエンゲージメント指標の算出
  4. 04高パフォーマンス動画の特定
  5. 05自社チャンネルとの任意比較

活用シーン

  1. 01競合の実績傾向をもとにしたコンテンツ計画
  2. 02反応の高い動画形式やトピックの発見
  3. 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 サーバーがインストールされていること

入力

パラメーター型必須デフォルト備考
startUrlsarray任意[]YouTube の URL — チャンネル、再生リスト、Shorts、検索結果
youtubeHandlesarray任意[]YouTube チャンネルのハンドル(例:@kurzgesagt)
getTrendingboolean任意falseトレンド動画を取得
keywordsarray任意[]検索キーワード
glstring任意us結果の国コード(例:US、GB)
hlstring任意en言語コード(例:en、de)
uploadDatestring任意allアップロード日のフィルター:any、hour、today、week、month、year
durationstring任意all動画の長さのフィルター:any、short、long
featuresstring任意all機能のフィルター:4k、hd、live、cc、3d、hdr など
sortstring任意r検索結果の並び順
maxItemsnumber任意無制限返す動画の最大数
customMapFunctionstring任意—各出力オブジェクトを変換する 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 が必要です。 確立されたチャンネルなのに再生回数が非常に少ない:チャンネルが衰退している可能性があります。最新動画の公開日を確認してください。休止状態かもしれません。 スクレイピング結果からチャンネル登録者数を特定できない:チャンネル登録者数が取得できない場合は、チャンネルの健全性を測る代替指標として、動画の再生回数と動画数の比率を使用します。

コメント