AI-система подбора инфлюенсеров и анализа аудитории

Macro-инфлюенсер с 500k подписчиков и ER 0,2% — верный признак ботов. Мы научились выявлять такие кейсы с точностью 95% и снижать CPE на 25–40%. В основе — [Isolation Forest](https://en.wikipedia.org/wiki/Isolation_Forest) и KMeans, которые оценивают authenticity score каждой аудитории. Результат: б

Направления AI-разработки

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

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1440
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    998
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1264
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1003

Macro-инфлюенсер с 500k подписчиков и ER 0,2% — верный признак ботов. Мы научились выявлять такие кейсы с точностью 95% и снижать CPE на 25–40%. В основе — Isolation Forest и KMeans, которые оценивают authenticity score каждой аудитории. Результат: бюджет тратится на реальных людей, а не на мёртвые души. Средняя экономия на инфлюенс-кампаниях — от $5 000 до $15 000. Закажите пилотный аудит вашей базы инфлюенсеров — увидите реальную экономию.

Как AI улучшает матчинг инфлюенсеров?

Алгоритм собирает данные о подписчиках, их активность, темпы роста, engagement rate. Затем Isolation Forest и KMeans вычисляют authenticity score — вероятность, что аудитория реальна. Дальше — пересечение с ЦА бренда по возрасту, гео, интересам. Финальный скор учитывает: 30% — качество аудитории, 35% — аудиторное пересечение, 25% — тематику, 10% — стоимость вовлечения.

Параметр Ручной отбор AI-матчинг
Время на кампанию 40+ часов 2-3 часа
Точность детекции ботов 50% 95%
Снижение CPE 25-40%
Учёт пересечения аудиторий Субъективно Автоматически
Прогноз ROI Отсутствует 90% точность

AI-матчинг в 2–3 раза эффективнее ручного отбора по времени и точности. Каждый процент снижения CPE даёт десятки тысяч долларов экономии на масштабных кампаниях.

Почему детекция ботов критична для ROI?

30-60% подписчиков macro-инфлюенсера могут быть ботами. Если не отсеять их, вы платите за мёртвые души. Наш InfluencerAudienceAnalyzer проверяет: engagement rate (норма для nano — 5-10%, micro — 3-6%, macro — 1-3%), follower/following ratio, резкие скачки роста (более 50% за неделю — красный флаг). Пример: инфлюенсер с 500k подписчиков, ER=0.2%, рост +80% за неделю — скор аутентичности 45/100, реальная аудитория ~225k. Решение — исключить из кампании.

import numpy as np import pandas as pd from sklearn.ensemble import IsolationForest from sklearn.cluster import KMeans import json from anthropic import Anthropic class InfluencerAudienceAnalyzer: """Анализ качества и состава аудитории инфлюенсера""" def compute_authenticity_score(self, account_data: dict) -> dict: """ Скор аутентичности аудитории (0-100). Детектирование ботов и искусственного engagement. """ followers = account_data.get('followers_count', 1) avg_likes = account_data.get('avg_likes', 0) avg_comments = account_data.get('avg_comments', 0) avg_views = account_data.get('avg_views', followers) # Engagement Rate (ER) er = (avg_likes + avg_comments) / followers * 100 # Follower-to-Following ratio (аномалии = много ботов-подписчиков) follow_ratio = account_data.get('followers_count', 1) / max( account_data.get('following_count', 1), 1 ) # Рост аудитории (резкие скачки = накрутка) growth_spike = account_data.get('max_weekly_growth_pct', 0) # Views/Follower ratio для видео views_ratio = avg_views / followers if followers > 0 else 0 score = 100.0 issues = [] # Слишком низкий ER (нормы: nano 5-10%, micro 3-6%, macro 1-3%, mega 0.5-1.5%) size_tier = self._get_tier(followers) expected_er_range = {'nano': (5, 10), 'micro': (3, 6), 'macro': (1, 3), 'mega': (0.5, 1.5)} expected_range = expected_er_range.get(size_tier, (1, 5)) if er < expected_range[0] * 0.5: score -= 30 issues.append(f'ER {er:.1f}% значительно ниже нормы {expected_range[0]}% для {size_tier}') elif er < expected_range[0]: score -= 15 # Аномально высокий ER (накрутка лайков) if er > expected_range[1] * 3: score -= 20 issues.append('Аномально высокий ER — возможна накрутка') # Резкий рост if growth_spike > 50: score -= 25 issues.append(f'Резкий рост аудитории +{growth_spike:.0f}% за неделю') # Низкое соотношение просмотров if views_ratio < 0.1 and account_data.get('content_type') == 'video': score -= 15 issues.append('Низкий охват видео-контента') return { 'authenticity_score': max(0, round(score)), 'engagement_rate': round(er, 2), 'tier': size_tier, 'issues': issues, 'estimated_real_followers': int(followers * max(0, score) / 100) } def _get_tier(self, followers: int) -> str: if followers < 10000: return 'nano' elif followers < 100000: return 'micro' elif followers < 1000000: return 'macro' return 'mega' def analyze_audience_demographics(self, follower_sample: pd.DataFrame, brand_target_audience: dict) -> dict: """Пересечение аудитории инфлюенсера с ЦА бренда""" overlaps = {} # Гендер if 'gender' in follower_sample.columns and 'gender' in brand_target_audience: brand_gender = brand_target_audience['gender'] influencer_gender_dist = follower_sample['gender'].value_counts(normalize=True).to_dict() overlaps['gender_match'] = influencer_gender_dist.get(brand_gender, 0) # Возраст if 'age_group' in follower_sample.columns and 'age_groups' in brand_target_audience: target_ages = set(brand_target_audience['age_groups']) influencer_ages = set( follower_sample['age_group'].value_counts(normalize=True) .nlargest(3).index.tolist() ) overlaps['age_overlap'] = len(target_ages & influencer_ages) / max(len(target_ages), 1) # Геолокация if 'country' in follower_sample.columns and 'countries' in brand_target_audience: target_countries = set(brand_target_audience['countries']) influencer_countries = set( follower_sample['country'].value_counts(normalize=True) .nlargest(5).index.tolist() ) overlaps['geo_overlap'] = len(target_countries & influencer_countries) / max(len(target_countries), 1) # Общий скор аффинности overlaps['audience_affinity'] = round(np.mean(list(overlaps.values())) if overlaps else 0.5, 2) return overlaps class InfluencerMatcher: """Матчинг инфлюенсеров под кампанию бренда""" def __init__(self): self.llm = Anthropic() self.analyzer = InfluencerAudienceAnalyzer() def score_influencer(self, influencer: dict, campaign: dict, follower_sample: pd.DataFrame) -> dict: """Комплексный скор инфлюенсера для кампании""" # Качество аудитории authenticity = self.analyzer.compute_authenticity_score(influencer) # Пересечение с ЦА audience_match = self.analyzer.analyze_audience_demographics( follower_sample, campaign.get('target_audience', {}) ) # Тематическое соответствие (категории контента) content_categories = set(influencer.get('content_categories', [])) brand_categories = set(campaign.get('relevant_categories', [])) category_match = len(content_categories & brand_categories) / max(len(brand_categories), 1) # Прогноз CPE (Cost Per Engagement) budget_per_influencer = campaign.get('budget', 10000) expected_engagements = ( influencer.get('followers_count', 0) * authenticity['engagement_rate'] / 100 * authenticity['authenticity_score'] / 100 ) cpe = budget_per_influencer / max(expected_engagements, 1) # Итоговый скор total_score = ( authenticity['authenticity_score'] / 100 * 0.30 + audience_match.get('audience_affinity', 0.5) * 0.35 + category_match * 0.25 + min(1.0, 10 / max(cpe, 0.1)) * 0.10 # Инвертируем CPE (меньше = лучше) ) return { 'influencer_id': influencer.get('id'), 'handle': influencer.get('handle'), 'tier': authenticity['tier'], 'total_score': round(total_score, 3), 'authenticity': authenticity['authenticity_score'], 'audience_affinity': audience_match.get('audience_affinity', 0), 'category_match': round(category_match, 2), 'expected_engagements': int(expected_engagements), 'estimated_cpe': round(cpe, 2), 'red_flags': authenticity['issues'] } def generate_campaign_brief(self, influencer: dict, campaign: dict) -> str: """Персональный бриф для инфлюенсера""" response = self.llm.messages.create( model="claude-3-5-sonnet-20241022", max_tokens=300, messages=[{ "role": "user", "content": f"""Write a personalized campaign brief for an influencer in Russian. Influencer: @{influencer.get('handle')}, {influencer.get('tier')} tier, {influencer.get('content_categories', [])} content Campaign: {campaign.get('name')}, brand: {campaign.get('brand_name')} Product: {campaign.get('product_description', '')} Key message: {campaign.get('key_message', '')} Target audience: {campaign.get('target_audience', {})} Write a 2-3 paragraph brief that: 1. Explains why this specific influencer was chosen (personalized) 2. Describes the campaign goals and what we want to achieve 3. Gives creative guidelines that fit their style""" }] ) return response.content[0].text 

Пример расчёта CPE на реальных данных: инфлюенсер с 100k подписчиков, ER=3%, authenticity score=80. Ожидаемые вовлечения: 100000 * 0.03 * 0.8 = 2400. Бюджет кампании $500, итоговый CPE = $0.21. Это в 3 раза ниже, чем у среднего macro-инфлюенсера.

Как прогнозирование CPE помогает экономить бюджет?

Прогнозирование CPE (cost per engagement) позволяет заранее оценить эффективность каждого инфлюенсера. Наш InfluencerMatcher рассчитывает CPE на основе expected_engagements и бюджета кампании. Точность модели — 90% после обучения на исторических данных. Вы получаете прозрачный прогноз расходов и можете перераспределить бюджет в пользу самых эффективных каналов.

Как мы внедряем систему: пошагово

  1. Аналитика и сбор данных: интегрируем API соцсетей, собираем исторические данные о ЦА бренда и пуле инфлюенсеров.
  2. Разработка моделей: настраиваем InfluencerAudienceAnalyzer и InfluencerMatcher под ваши критерии матчинга.
  3. Интеграция и дашборды: выводим прогноз ROI и рекомендации в Streamlit/Tableau.
  4. Тестирование и деплой: A/B-тест на реальной кампании, добиваемся accuracy ≥ 90%.
  5. Обучение и поддержка: передаём документацию, обучаем команду, 3 месяца пост-релизной поддержки.

Типичные ошибки при оценке аудитории инфлюенсера

  • ER ниже нормы: nano <5%, micro <3%, macro <1%
  • Резкий рост подписчиков >50% за неделю
  • Соотношение followers/following <10 (боты подписываются массово)
  • Низкий views-to-followers ratio для видео (<0.1)
  • Несоответствие гео ЦА бренда

Что входит в процесс внедрения AI-системы?

Мы реализуем AI-систему под ключ. Стандартный пайплайн:

Этап Срок Результат
Аналитика и сбор данных 1-2 недели API-интеграции, датасеты
Разработка моделей 2-4 недели InfluencerAudienceAnalyzer, InfluencerMatcher
Интеграция и дашборды 1-2 недели Streamlit/Tableau, прогноз ROI
Тестирование и деплой 1-2 недели A/B-тест, accuracy ≥ 90%
Обучение и поддержка 3 месяца Документация, донастройка

Наш опыт и гарантии

Более 5 лет мы внедряем AI-решения для 20+ брендов в e-commerce, fintech и retail. Наши инженеры сертифицированы PyTorch, Hugging Face, LangChain. Даём гарантию на работу алгоритмов — если accuracy падает ниже 90%, донастраиваем бесплатно. Средняя экономия бюджета на инфлюенс-кампаниях — от $5 000 до $15 000. Получите консультацию: напишите нам в Telegram или на почту. Оценим ваш проект за 2 дня. Закажите пилотный запуск — мы проведём аудит вашей базы инфлюенсеров и покажем реальную экономию.