Исследование каталогов стриминга по рынкам: создание наборов данных о доступности

Каталог стримингового сервиса меняется на каждой границе. Вот как измерить, что доступно где, рынок за рынком, и превратить это в информацию о лицензировании и контенте.

Один и тот же стриминговый сервис — это разные продукты в каждой стране. Лицензионные сделки заключаются рынок за рынком, так что заглавный фильм каталога в Испании может отсутствовать в Германии и появиться в Японии через шесть месяцев. Для всех, кто занимается стратегией контента — студии, дистрибьюторы, аналитики, команды по приобретению — это разнообразие по рынкам не шум, а сигнал. Это руководство охватывает исследование каталогов стриминга по рынкам: как измерить, что доступно где, создать сопоставимый набор данных по странам и превратить это в информацию о лицензировании. Сначала небольшое пояснение: речь идет об изучении публичных каталогов снаружи как о маркетинговом исследовании, а не о том, чтобы обойти регион вашей подписки.

Насколько сильно различаются каталоги

Различия больше, чем многие предполагают. Трекеры публичных библиотек обнаружили, что самый большой национальный каталог Netflix — в Словакии, в начале 2024 года — содержит около 8 000 названий, в то время как другие рынки имеют лишь часть этого. Одна только библиотека США насчитывает около 3 600+ фильмов и 1 800+ телешоу, что снова отличается от любой другой страны. И доступность не универсальна: Netflix вообще не работает в Китае, Северной Корее или Крыму. Умножьте это разнообразие на каждого провайдера и каждое название, и вы получите богатый, постоянно меняющийся набор данных, который не может быть охвачен одним взглядом на страну.

Панель статистики, показывающая размер каталога стриминга, варьирующийся по странам, от ~8 000 названий и ниже, и три страны без Netflix
Размер каталога и состав названий резко различаются между рынками — именно это разнообразие и измеряет исследование.

Где находятся данные

Вам не нужно все разрабатывать с нуля. Два нейтральных источника выполняют большую часть работы. The Movie Database (TMDb) предоставляет чистые, канонические метаданные — стабильный идентификатор для каждого названия, актерский состав, год выпуска — что бесценно для объединения записей по рынкам. Агрегаторы доступности в стиле JustWatch отслеживают, какие провайдеры предоставляют какие названия в каких странах, а такие проекты сообщества, как неофициальный Netflix Global Search, давно каталогизируют региональные библиотеки. Используйте TMDb как основу для идентификации и рассматривайте каналы доступности как слой по рынкам, который вы накладываете сверху.

Почему вам нужны IP-адреса в пределах рынка

Вот механическое ядро. Публичный каталог провайдера и страницы поиска отображают локальную библиотеку на основе того, откуда, по-видимому, поступает запрос — так что, чтобы увидеть каталог, который видит подписчик в Италии, ваш запрос должен исходить из итальянского IP. Одна точка зрения дает вам ответ одной страны; чтобы создать набор данных по рынкам, вы повторяете один и тот же запрос через выход в каждой целевой стране. Резидентный прокси-пул, охватывающий более 200 стран, делает это практичным — настоящие IP-адреса в стране, так что каждый рынок возвращает свой подлинный локальный вид, а не заблокированный или непоследовательный. Это та же дисциплина гео-обзора, что и в проверке рекламы и исследовании цен на авиабилеты, где ответ существует только относительно местоположения.

Просмотрите полное покрытие стран на нашей странице местоположений; рынки, которые вы можете профилировать, — это рынки, в которых у вас есть выходы.

import requests

# Fetch a provider's public catalog view as a viewer in each market would
GATE = "gate.quantumproxies.io:8000"
MARKETS = ["us", "gb", "de", "it", "jp", "br"]

def catalog_view(url, country):
    # exit country selected in the proxy username -> the local library view
    proxy = f"http://USER-country-{country}:PASS@{GATE}"
    r = requests.get(url, proxies={"http": proxy, "https": proxy},
                     headers={"Accept-Language": country}, timeout=25)
    return r

by_market = {cc: catalog_view("https://example-provider.com/browse", cc)
             for cc in MARKETS}

Нормализация по рынкам

Сырые данные по странам не сопоставимы, пока вы не согласуете идентификацию. Один и тот же фильм имеет разные локальные названия, обложки и слоги в каждом рынке, поэтому сопоставление по отображаемому названию приводит к мусору. Привяжите все к каноническому идентификатору — идентификатор TMDb идеален — так что "Крестный отец: Часть II" в США и его локализованное название в других местах сводятся к одной записи. Как только названия дублируются по рынкам, сравнения пишутся сами собой: в каких странах есть название, когда оно появилось, как ранжируются размеры каталогов и где есть пробелы.

# Build an availability matrix: which markets carry each canonical title
from collections import defaultdict

availability = defaultdict(set)   # tmdb_id -> set of country codes

def record(country, titles):
    for t in titles:
        availability[t["tmdb_id"]].add(country)

# ...after populating from each market's parsed catalog:
def gaps_vs(reference="us"):
    # titles present in the reference market but missing elsewhere
    return {tid: (all_markets - markets)
            for tid, markets in availability.items()
            if reference in markets}

all_markets = {"us", "gb", "de", "it", "jp", "br"}
Схема конвейера от выбора рынков через гео-таргетированные выходы и нормализацию названий к сравнению доступности по рынкам
Конвейер — это цикл по рынкам, затем объединение по каноническому идентификатору — согласование идентификации делает рынки сопоставимыми.

Преобразование каталогов в информацию

Набор данных оправдывает себя в анализе. Отслеживайте окна доступности, чтобы увидеть, сколько времени проходит после выпуска в США, прежде чем название достигает других рынков — прямое чтение задержки лицензирования. Оцените размер каталога и состав жанров по странам, чтобы понять, где провайдер инвестирует. Обнаружьте пробелы в контенте, которые есть у конкурента, а у вас нет, или наоборот. Наблюдайте, как конкретное название пересекает границы в течение недель, чтобы сделать выводы о структурах сделок. Запустите весь процесс по расписанию, отметьте каждую запись временной меткой, и дельты станут каналом движения лицензий — та же логика мониторинга, что и в мониторинге цен конкурентов, примененная к правам на контент.

Одна привычка превращает снимок в монитор: запланируйте сбор и сравните каждую запись с предыдущей. Новые добавления, тихие удаления и первое появление названия на рынке все всплывают как дельты, давая вам канал изменений, а не статичный инвентарь. Храните каждую запись с временной меткой и сохраняйте стабильность канонических идентификаторов, и вы сможете восстановить каталог любого рынка в том виде, в каком он был на любую прошлую дату — это разница между одноразовым исследованием и постоянным продуктом разведки, за который команда по лицензированию действительно заплатит.

Оставайтесь на правильной стороне

Поскольку это касается географии, будьте осторожны в определении объема. Законное использование здесь заключается в измерении публично отображаемых данных о каталоге и доступности как маркетингового исследования — а не в обходе региональных прав вашего аккаунта или распространении контента. Соблюдайте условия каждого сервиса, собирайте только публичные метаданные каталога (названия, доступность, даты — не личные данные пользователей) и вежливо распределяйте свои запросы. Это информативно, а не юридическая консультация; если конкретная программа вызывает вопросы, получите консультацию перед ее масштабированием.

Получите резидентные IP-адреса в более чем 200 странах

Часто задаваемые вопросы

Почему каталоги стриминга различаются по странам?

Лицензирование согласовывается рынок за рынком и распределяется по времени, поэтому права на данное название различаются — и изменяются — в зависимости от страны. Фильм может транслироваться на одном рынке, быть недоступным на другом и появиться позже на третьем. Доступность также зависит от того, где провайдер вообще работает; в некоторых странах нет сервиса. Это разнообразие по рынкам и измеряет исследование каталогов.

Как увидеть каталог стриминга в другой стране?

Для исследования запросите публичный каталог провайдера или страницы поиска через выходной IP, расположенный в целевой стране, чтобы локальная библиотека отображалась так, как ее видит зритель на рынке. Повторите запрос через выход в каждой стране, которую вы хотите профилировать, используя резидентный прокси-пул, затем нормализуйте результаты до канонического идентификатора названия для сравнения.

Какие источники данных помогают в исследовании каталогов?

Используйте TMDb для канонических метаданных названий и стабильных идентификаторов для объединения записей по рынкам, а агрегаторы доступности (каналы в стиле JustWatch и трекеры региональных библиотек сообщества) для слоя по странам. TMDb дает вам идентификацию; каналы доступности дают вам рыночное измерение. Наложите их друг на друга, чтобы создать сопоставимый набор данных по рынкам.

Является ли исследование каталогов стриминга законным?

Сбор публично отображаемых метаданных о каталоге и доступности для анализа рынка является обычной практикой, но применяются условия каждого сервиса, и это не юридическая консультация. Соблюдайте публичные данные каталога, избегайте личной информации пользователей, не используйте это для обхода региональных прав вашего аккаунта или распространения контента и получите консультацию для конкретной программы в крупном масштабе.

Каталог стриминга — это подвижный, зависящий от границ набор данных, и его ценность заключается именно в различиях между рынками. Профилируйте каждую страну с IP-адреса на рынке, согласуйте названия с одним каноническим идентификатором и фиксируйте по расписанию — и разбросанные региональные библиотеки становятся двигателем лицензионной разведки.

Увидьте каждую страну, которую вы можете профилировать