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 дні. Замовте пілотний запуск — ми проведемо аудит вашої бази інфлюенсерів і покажемо реальну економію.