ブログに戻ります

TikTok動画の長さ分析と公開投稿メトリック

Daniel Kim
Daniel Kim

Lead Scraping Automation Engineer

04-Sep-2026

TL;DR:

  • TikTokの動画長さ分析には有効な期間値が必要です。 動画バケットを割り当てる前に、欠落およびゼロ期間のレコードを除外します。
  • 期間バケットはアナリストが定義する比較グループです。 公式なパフォーマンス推奨ではありません。
  • クリエイターと観察ウィンドウはすべての比較に含まれるべきです。 無関係なアカウントを混ぜることで、オーディエンス、トピック、投稿のリズムの違いが隠れる可能性があります。
  • サンプル数、中央値、外れ値は各期間結果の横に表示されるべきです。 1つのヒット投稿を持つバケットは、目に見える警告が必要です。
  • 公開投稿メトリクスは完了率や平均視聴時間を明らかにしません。 期間分析は、それらの未利用の指標を示唆すべきではありません。
  • 無料で始められます。 新しいScrapelessアカウントには、Scrapelessダッシュボードを通じて無料クレジットが含まれています。

Introduction: duration is a format dimension, not a verdict

動画の長さはグループ化が簡単で、過剰に解釈されがちです。短いクリップと長いチュートリアルは異なるオーディエンスのニーズに応えることがあり、公開プレイやエンゲージメント数は視聴者がどれくらいの時間視聴したかを明らかにしません。

このガイドは、追跡されたクリエイターの投稿からTikTok動画長さ分析を構築します。使用できない期間をフィルタリングし、プロジェクト所有のバケットを適用し、一致するクリエイターと観察ウィンドウ内の公開メトリクスを比較し、サンプルと外れ値のコンテキストを持つ期間帯レポートを生成します。

コレクションステップのために、Scrapelessアクターガイドは、構造化されたアクターリクエストがアプリケーションにどのように適合するかを説明しています。

Pipeline at a Glance

Stage Action Output
Collect 追跡されたクリエイターの投稿を保存 生の投稿スナップショット
Validate 期間を解析し、使用できないレコードを削除 有効な動画データセット
Bucket 明示的な期間バンドを割り当て フォーマットグループ
Compare クリエイター内の統計を計算 期間比較表
Review 小さなサンプルと外れ値を公開 決定準備完了レポート

パイプラインは観察された公開投稿の結果を比較します。保持率を計算したり、普遍的な動画長を推奨したりはしません。

Prerequisites

  • scraper.tiktok.user.workからの保存されたレスポンス
  • レスポンスに保存されたクリエイターのアイデンティティとコレクション時間
  • 標準ライブラリを持つPython 3
  • パフォーマンス結果を表示する前に選択された期間バケット
  • ランク付け比較のための最小投稿数
  • 新しいデータを収集する際のScrapelessダッシュボードからのScrapeless APIキー

変換ブロックは前提条件のギャップであり、リーダーが入力スナップショットを提供します。ライブ結果を主張するものではありません。

Stage 1: Validate Duration Before Bucketing

TikTokの投稿アクターは秒数でvideo_durationを返すことができます。0の値は、使用可能な動画の長さを持たないレコードに発生する可能性があるため、分析はゼロ、欠落、ブールおよび非数値の値を期間テーブルから除外する必要があります。その行は沈黙して削除するのではなく、品質レポートに保存します。

TikTokのビデオオブジェクトドキュメントは、その動画フィールドの期間を秒数で説明します。そのクエリビデオドキュメントは、期間と公開インタラクション数を別々のフィールドとしてもリストしています。その分離は重要です:期間は観察可能ですが、視聴行動はここで使用される公開カウンターから派生していません。

除外理由をmissing_durationzero_duration、またはinvalid_durationのように記録します。除外カウントは、最終チャートの近くに表示され、リーダーがカバレッジを評価できるようにする必要があります。

Stage 2: Choose Buckets Before Looking at Results

プロジェクト所有のバケットは分析を再現可能に保ちます。一つの実用的な開始スキームは次の通りです:

Band Rule
under_15s 期間がゼロより大きく、15秒未満
15_to_59s 15秒から59秒
60_to_299s 60秒から299秒
300s_plus 300秒以上

これらの境界は分析設定であり、理想的なフォーマットに関する主張ではありません。アウトプットと共にバケットバージョンを記録し、後で境界が変更されても2つのレポートが直接比較できるようにします。

Scrapelessでスクレイピングを開始

ScrapelessでWebスクレイピングと自動化ワークフローを強化しましょう!
今すぐサインアップして5ドルの無料クレジットをゲット — クレジットカード不要

Scrapelessダッシュボードで今すぐ無料クレジットを取得してください。

Stage 3: Calculate Duration-Band Statistics

有効な投稿ごとに1行を維持します。公開カウンターは整数として保持し、再生数が正の数のときのみエンゲージメント率を計算し、サンプルカウントの横に中央値を比較します。

注:以下のコードは、posts-snapshot.jsonscraper.tiktok.user.workからのリーダー提供を必要とします。複数のアカウントからスナップショットを結合する前に、作成者と観察ウィンドウの列を追加します。

python Copy
import csv
import json
import statistics


def parse_duration(value):
    if isinstance(value, bool):
        return None
    try:
        duration = int(value)
    except (TypeError, ValueError):
        return None
    return duration if duration > 0 else None


def duration_band(seconds):
    if seconds < 15:
        return "under_15s"
    if seconds < 60:
        return "15_to_59s"
    if seconds < 300:
        return "60_to_299s"
    return "300s_plus"


def count(value):
    try:
        return int(value)
    except (TypeError, ValueError):
        return 0


with open("posts-snapshot.json", encoding="utf-8") as source:
    payload = json.load(source)

posts = (
    payload.get("items", payload.get("data", payload))
    if isinstance(payload, dict) else payload
)
groups = {}
excluded = []

for post in posts:
    duration = parse_duration(post.get("video_duration"))
    if duration is None:
        excluded.append(str(post.get("video_id") or ""))
        continue

    plays = count(post.get("play_count"))
    engagement = sum(count(post.get(field)) for field in (
        "digg_count", "comment_count", "collect_count"
    ))
    group = groups.setdefault(duration_band(duration), {
        "durations": [], "plays": [], "rates": []
    })
    group["durations"].append(duration)
    group["plays"].append(plays)
    if plays:
        group["rates"].append(engagement / plays)

rows = []
for band, values in groups.items():
    rows.append({
        "duration_band": band,
        "post_count": len(values["plays"]),
        "median_duration_seconds": statistics.median(values["durations"]),
        "median_plays": statistics.median(values["plays"]),
        "max_plays": max(values["plays"]),
        "median_engagement_rate": (
            statistics.median(values["rates"]) if values["rates"] else ""
        ),
    })

with open("duration-band-report.csv", "w", newline="", encoding="utf-8") as output:
    fields = [
        "duration_band", "post_count", "median_duration_seconds",
        "median_plays", "max_plays", "median_engagement_rate"
    ]
    writer = csv.DictWriter(output, fieldnames=fields)
    writer.writeheader()
    writer.writerows(rows)

print(f"excluded_duration_records={len(excluded)}")

最大再生数の列は、典型的な投稿と最も強力な外れ値との距離を明らかにします。Pythonの統計ドキュメントは、ここで使用される中央値の計算を定義しています。

ステージ4:作成者と観察ウィンドウ内で比較する

TikTokビデオの期間エンゲージメントテーブルは、最初に同じ作成者とコレクションウィンドウ内のバケットを比較する必要があります。これにより、オーディエンスのサイズ、コンテンツカテゴリー、時間の範囲における明らかな違いのいくつかを制御し、すべての要因を制御しているとは見なされません。

複数アカウントのベンチマークの場合、2つのレベルの報告を使用します:

  1. 作成者レベルの行は、各アカウントの期間区分を示します。
  2. ポートフォリオ行は、作成者レベルの中央値を要約し、どれだけの作成者が貢献したかを示します。

1人の作成者がほとんどのサンプルに貢献している場合、すべての投稿を1つのテーブルにプールしないでください。その結果は、主にそのアカウントの公開ミックスを説明することになります。

ステージ5:期間比較チャートを作成する

主なチャートは、期間区分を横軸に、中央値の再生数または中央値のエンゲージメント率を縦軸に配置できます。各バーに直接投稿数を表示し、最大値または外れ値マーカーを補助テーブルに追加します。

完全なTikTokコンテンツ形式分析は、次の情報を表示する必要があります:

  • 作成者またはコホート名
  • 観察ウィンドウ
  • バケット定義とバージョン
  • バンドごとの有効投稿数
  • 除外された期間レコード数
  • 中央値の再生数と中央値のエンゲージメント率
  • 最大再生数または他の視覚的外れ値インジケーター

Scrapelessは、Scraping APIを通じて構造化された投稿収集を提供します。クリエイターのカバレッジとスナップショット頻度を設定する前に、現在の価格ページを確認してください。

作成者メトリックを責任持って扱う

分析に必要な公開投稿フィールドのみを保持し、作成者レベルのデータへのアクセスを制限し、報告目的を文書化します。NISTプライバシーフレームワークは、プライバシーリスクと保持の管理に関する一般的なガイダンスを提供します。

期間区分はコンテンツテストに情報を提供する必要があります。それは作成者に関する自動的な判断を生み出すべきではなく、収集されていない場合にそれらのフィールドが完了率または平均視聴時間分析として提示されるべきではありません。

結論:ビデオの長さを観察された次元として扱う

TikTokビデオの長さ分析は、無効な期間をフィルタリングし、バケットルールを事前に固定し、類似比を比較する場合に最も有用です。サンプル数、中央値、除外、外れ値をすべての結果の横に公開します。出力は新しいコンテンツテストをガイドできますが、公開投稿メトリックだけでは普遍的な期間ルールを確立することはできません。

TikTokビデオ形式を比較する準備はできていますか?

Scrapeless DiscordまたはTelegramコミュニティに参加して、期間区分報告について話し合ってください。作成者リストが準備できたら、Scrapeless Dashboardにアカウントを作成してください。

FAQ

Q: TikTokビデオの長さ分析はどのように機能しますか?

TikTokビデオの長さ分析は、有効な投稿の期間を定義されたバンドにグループ化し、同じ作成者と観察コンテキスト内の公開メトリックを比較します。

Q: ゼロ期間のレコードは最短バケットに入るべきですか?

ゼロ期間のレコードは、ゼロが有効な短いビデオではなく、欠落または使用できないビデオの期間を表す可能性があるため、最短バケットに入るべきではありません。

Q: 公開投稿メトリックは平均視聴時間を明らかにできますか?

公開の再生数、いいね数、コメント数、収集数は、このワークフローで平均視聴時間や完了率を明らかにしません。

Q: TikTokビデオのパフォーマンスベンチマークを比較可能にするために何が必要ですか?

比較可能なベンチマークは、一貫した作成者グループ、観察ウィンドウ、バケットルール、メトリック定義、サンプルしきい値を使用します。

Q: チームはTikTok投稿セレクターを管理する必要がありますか?

TikTok投稿アクターは、APIレスポンスを通じて構造化されたフィールドを返します。呼び出し元は、作成者の選択、スナップショットのタイミング、ストレージ、品質チェック、および分析を管理します。

Q: 公開TikTok投稿データのスクレイピングは合法ですか?

合法性は、管轄権、目的、アクセス手法、適用条項、および収集されたデータに依存します。許可された目的のために公開データを使用し、意図されたワークフローについて法律相談を求めてください。

Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。

最も人気のある記事

カタログ