Google Trends в машинном обучении: ошибки нормализации данных 2026 | AiManual
AiManual Logo Ai / Manual.
25 Янв 2026 Гайд

Google Trends лжет: как нормализация данных убивает ваши ML-модели

Почему Google Trends вводит в заблуждение при построении ML-моделей. Разбор ошибок нормализации, корреляции и причинности. Практическое руководство по работе с

Цифры, которые обманывают с разрешения Google

Вы скачиваете CSV из Google Trends. Видите красивый график. Строите модель. Получаете R²=0.89. Публикуете исследование. А потом оказывается, что ваша модель предсказывает не интерес к продукту, а сезонные колебания интернет-трафика в Небраске.

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

Google Trends нормализует данные относительно самого популярного термина в выборке. 100 баллов не означает "100% популярности" - это означает "максимальная популярность в этой конкретной выборке". Измените временной диапазон или список сравнения - и все цифры пересчитаются.

Почему нормализация - это не просто "масштабирование"

Представьте: вы сравниваете поисковые запросы "искусственный интеллект" и "машинное обучение" за 2025 год. Google берет неделю, когда "искусственный интеллект" был максимально популярен, присваивает ей 100 баллов. Все остальные значения рассчитываются относительно этой точки.

Теперь добавьте третий запрос - "нейросети". Внезапно все цифры меняются. Потому что новая максимальная точка - другая. Ваши "объективные" данные только что перестали быть объективными.

💡
Это не баг, это фича. Google специально так делает, чтобы визуализация была понятнее для обычных пользователей. Но для ML-инженеров это создает проблемы, о которых в документации не пишут.

Три смертельных греха работы с Google Trends

1 Слепая вера в абсолютные значения

"Вот, смотрите, интерес к криптовалютам вырос с 20 до 80 баллов! Четырехкратный рост!"

Нет. Не четырехкратный. Нельзя сравнивать баллы между разными временными отрезками. Если в январе максимальная популярность была 100, а в декабре - тоже 100, это не значит, что популярность одинаковая. Это значит только то, что в каждом месяце была выбрана своя точка отсчета.

2 Игнорирование базового уровня

Запрос "как испечь пирог" всегда популярнее в выходные. Запрос "грипп симптомы" - зимой. Если вы не учтете сезонность, ваша модель найдет корреляцию между "пирогами" и "продажами лекарств от гриппа". Через выходные и зиму.

Это как история с Amazon, где ИИ научился дискриминировать кандидатов по скрытым паттернам. Только здесь паттерны - в данных, а не в алгоритме.

3 Смешивание разных геолокаций

Данные по США и данные по миру - это разные вселенные. Разный интернет-трафик, разная аудитория, разное поведение. Смешивая их, вы получаете статистический салат, где кинза коррелирует с биткоином.

Как НЕ надо делать (реальные примеры провалов)

Кейс 2024 года: стартап предсказывал продажи зимней одежды по запросам "холодно". Модель работала идеально. До тех пор, пока в Австралии не наступило лето. Оказалось, модель ловила не холод, а сезонные колебания общего поискового трафика.

Кейс 2025 года: исследователи связали рост запросов "депрессия" с падением акций tech-компаний. Красивая корреляция 0.76. Пока не выяснилось, что пики "депрессии" приходились на понедельники, а падения акций - на дни после выходных. Модель предсказывала не экономику, а календарь.

Эти ошибки особенно опасны в 2026 году, когда ИИ начинает "думать" самостоятельно (как в нашем разборе про утилизацию ИИ). Модель находит ложные паттерны и уверенно их экстраполирует.

Правильный пайплайн работы с Google Trends

1 Фиксируйте точку отсчета

Выберите контрольный запрос с стабильной популярностью. Например, "погода" или "новости". Все остальные запросы нормализуйте относительно него, а не относительно максимума в выборке.

# Неправильно:
trends_data = pytrends.interest_over_time(['bitcoin', 'ethereum'])

# Правильно:
# Добавляем контрольный запрос
control_query = 'погода'
trends_data = pytrends.interest_over_time(['bitcoin', 'ethereum', control_query])

# Нормализуем относительно контроля
bitcoin_normalized = trends_data['bitcoin'] / trends_data[control_query]
ethereum_normalized = trends_data['ethereum'] / trends_data[control_query]

2 Удаляйте сезонность до, а не после

Сезонная декомпозиция должна быть первым шагом. Не пытайтесь строить модель на сырых данных, потом "почистить" остатки. Это как история с медицинскими советами Google AI - сначала выдают ерунду, потом пытаются исправить.

from statsmodels.tsa.seasonal import seasonal_decompose

# Декомпозиция перед feature engineering
decomposition = seasonal_decompose(trends_series, model='additive', period=52)
trend_component = decomposition.trend  # Тренд без сезонности
seasonal_component = decomposition.seasonal  # Сезонность отдельно
residual = decomposition.resid  # Остатки для анализа

3 Используйте относительные, а не абсолютные изменения

Не "запрос вырос с 20 до 40 баллов", а "отношение запроса к контрольному выросло на X%". Не "пик популярности в 100 баллов", а "в этот момент запрос был в Y раз популярнее контрольного".

4 Добавляйте контекстуальные фичи

Google Trends в вакууме бесполезен. Нужен контекст:

  • Новостные события (количество упоминаний в СМИ)
  • Социальные сети (тренды Twitter, активность в темах Reddit)
  • Экономические индикаторы (если предсказываете продажи)
  • Даже погода (серьезно, это влияет на поисковое поведение)

Проверка на здравомыслие: вопросы, которые нужно задать себе

Если ваша модель показывает... Спросите себя...
Корреляцию > 0.7 Не ловим ли мы общий тренд (рост интернета, сезонность)?
Резкие скачки предсказаний Не совпадают ли они с изменениями в алгоритме Google?
Идеальную предсказательную силу Не предсказываем ли мы прошлое будущим (data leakage)?
Странные паттерны по дням недели Не смешиваем ли мы рабочие и выходные дни?

Особенности 2026 года: что изменилось

Google обновил алгоритмы сбора данных в конце 2025. Теперь:

  • Учет голосового поиска вырос до 40% от общего объема
  • ИИ-ассистированные запросы (типа "напиши мне") выделены в отдельную категорию
  • Появилась поправка на протокол покупок Google AI, который искажал коммерческие запросы

Старые датасеты (до 2025) и новые (после 2025) сравнивать нельзя. Это разные метрики. Как сравнивать яблоки и апельсины, где апельсины еще и искусственные.

Когда Google Trends вообще не стоит использовать

Бывают случаи, когда эти данные принесут больше вреда, чем пользы:

  1. Нишевые продукты - если поисков меньше 10 в день, данные будут шумными до бесполезности
  2. Долгосрочные тренды (>5 лет) - меняется поведение пользователей, меняются алгоритмы, меняется сам интернет
  3. Предсказание black swan событий - пандемии, войны, технологические прорывы не видны в поисковых трендах заранее
  4. Юридические или медицинские вопросы - здесь даже Google отключил AI Overviews из-за рисков

Альтернативы, которые работают лучше

Google Trends - не единственный источник. Иногда лучше посмотреть на:

  • Twitter API v3 (2026) - теперь есть исторические данные за 2 года
  • Reddit Data API - активность в сабреддитах часто предсказывает тренды
  • GitHub Topics - для технологических трендов
  • Собственные лог-файлы - если есть сайт или приложение
💡
Лучший подход - мультисенсорный. Не одна метрика, а несколько. Как в модели Яндекс.Практикума, которая предсказывает отток студентов по 15+ разным сигналам.

Чеклист перед отправкой модели в прод

Пройдите эти пункты, если используете Google Trends в ML:

checklist = {
    'normalization_fixed': 'Используется контрольный запрос для нормализации',
    'seasonality_removed': 'Сезонность удалена до feature engineering',
    'time_period_consistent': 'Не смешиваются данные до и после 2025',
    'geo_separated': 'Данные по разным странам не смешаны',
    'context_added': 'Есть минимум 2 дополнительных источника данных',
    'causality_tested': 'Проверена гипотеза "не просто корреляция"',
    'outliers_analyzed': 'Выбросы изучены, а не просто удалены',
    'benchmark_exists': 'Есть baseline-модель без Google Trends данных'
}

Самый опасный миф о Google Trends

"Чем больше данных, тем лучше модель".

Неправда. С Google Trends часто бывает наоборот: чем больше временной ряд, тем больше шума, тем больше изменений в методологии сбора, тем хуже модель.

Иногда лучше взять 6 месяцев качественных, очищенных, контекстуализированных данных, чем 10 лет сырых цифр. Особенно если эти 10 лет включают переход с ПК на мобильные, с текста на голос, с поиска на ассистентов.

Помните: Google создавал Trends для журналистов и маркетологов, не для ML-инженеров. Инструмент не виноват, что его используют не по назначению. Но это ваша ответственность - понимать ограничения и работать с ними.

Иначе получится как с data poisoning: вы сами отравите свою модель, просто потому что не прочитали мелкий шрифт.