Telegram-бот для анализа конкурентов — анализирует соцсети, ищет рекламные объявления

Лонгрид о создании бота @dstat_bot, который экономит время всем, кроме его создателя.

Идея

Работа в рекламных агентствах иногда бывает очень скучной, особенно в период тендеров: необходимо анализировать потенциального клиента и его конкурентов в digital. В частности, анализ часто затрагивает социальные сети.

Самая скучная работа в digital – собирать ссылки
Самая скучная работа в digital – собирать ссылки

Одним из примеров такой нудной, но необходимой работы по анализу конкурентов, является сбор ссылок на социальные сети брендов с последующим их анализом:

— зайти на сайт;

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

Затем эти ссылки необходимо внести в системы аналитики, которые соберут данные и через некоторое время выдадут результат.

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

В общем, скукота, которую обычно отдают стажерам, джуниорам, помощникам или другим усидчивым людям, находящимся в прямом подчинении.

А что, если это автоматизировать? Собирать ссылки на соцсети с сайтов — не такая сложная задача.

Костя Карпов, мечтатель и альтруист

Так подумал я и приступил к написанию своего первого парсера на Python. Тестировал на 12 тысячах доменах крупных брендов, представленных в России. Хорошо написанные сайты даже на примитивно написанном коде парсера выдавали ошибку примерно в 2,5% запросов. Это было ОК.

Затем пошла очередь социальных сетей: сбор количества подписчиков, постов, какой-то подсчёт показателей активности. Где-то просто парсинг HTML, где-то подключение по API. И вот в очередном «print» получается желанный json:

{ 'qwery': 'megafon.ru', 'site_data': {'site_vk_url': 'https://vk.com/megafon', 'site_ok_url': 'https://ok.ru/megafon', 'site_twi_url': 'https://twitter.com/megafonru', 'site_tg_url': '', 'site_fb_url': 'https://www.facebook.com/MegaFon.ru/', 'site_ig_url': 'https://instagram.com/megafon/', 'site_yt_url': 'https://www.youtube.com/channel/UClKZW7HmNfW6AD2AI2_X-7Q'}, 'fb_data': {'fb_id': '77840389655', 'fb_count': '158010', 'fb_site': 'https://www.megafon.ru/', 'fb_ad_ig_url': '', 'fb_ad_ig_count': ''}, 'yt_data': {'yt_subscriberCount': '189000', 'yt_videoCount': '741', 'yt_viewCount': '799888083'}, 'ig_data': {'ig_count': '59091', 'ig_follow': '2', 'ig_media': '1600', 'ig_highlights': '16', 'ig_site': 'http://start.megafon.ru/'}, 'vk_data': {'vk_count': 1588480, 'vk_id': 3785, 'vk_verified': 1, 'vk_counters': {'photos': 1553, 'albums': 20, 'videos': 1070, 'audios': 10, 'docs': 99, 'market': 17, 'podcasts': 4, 'articles': 38}, 'vk_site': 'http://www.megafon.ru'}, }

MVP (минимально жизнеспособный продукт)

Вряд ли пользователям сервиса будет удобно получать информацию в виде JSON!

Костя Карпов, человек, который позаботился о пользователях

На ум пришел только один вариант решения безынтерфейсного общения с пользователем — чат-бот, где все делается текстовыми командами, а еще лучше вообще без них: пусть работает по бесконечному циклу «просто введи ссылку и получи результат»:

Да, собираются не только ссылки на социальные сети, но и еще кое-что
Да, собираются не только ссылки на социальные сети, но и еще кое-что

В таком виде это было отдано в чат студентов «Академии коммуникаций Wordshop», где я преподавал. Ребятам и девчатам инструмент зашёл сразу: бесплатно, быстро и удобно. А в меня посыпались первые ошибки и проблемы, потому что анализировать начали не дорогие, хорошо сделанные сайты, а всё подряд.

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

А еще правил вывод информации до понятного обычному человеку:

Telegram-бот для анализа конкурентов — анализирует соцсети, ищет рекламные объявления

Все равно были вопросы, поэтому пришлось сделать команду /help с пояснениями и возможность задать вопрос напрямую через /question.

Первая 1000 пользователей

Несколько анонсов и взрывной рост!

Костя Карпов, мечтатель

Нет, взрывного роста не случилось, с пиками, приходящимися на анонсы лидеров мнений за 10 дней, чат-бот набрал первую 1000 пользователей.

Несмотря на просьбы порекомендовать бота в каждом втором сообщении от него, обычные пользователи этого практически не делали.

Пришлось немножко поднажать и сделать анонс в тематическом Telegram-канале…

+1500 новых пользователей за сутки

Представляете, как объемы их запросов расширили список доработок? А количество пользователей все растёт и появляются все новые и новые проблемы.

Например, пришлось сделать распознавание @username — как ссылки на Instagram-аккаунт!

Везде было написано: «Введите ссылку на сайт:», но пользователи упорно вписывали @username, ожидая получить информацию по Instagrma-профилю.

На пару недель вечерняя разработка новых фишек была заморожена. Все время тратилось на цикл «лог → воспроизведение ошибки → исправление ошибки», при этом бОльшая часть проблем возникала по вине разработчиков сайтов: ошибки в кодировке страниц, медленный отклик, плохие ссылки на соцсети (как вам вариант с заменой «/» на «\» в ссылке типа https:\\vk.com\publicname ?).

Еще пользователи часто ошибаются в ссылках или пытаются проанализировать сайты, на которых нет ссылки ни на одну соцсеть!

Пришлось сделать обработку ошибок и добавить какую-то обратную связь
Пришлось сделать обработку ошибок и добавить какую-то обратную связь

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

Как мотивировать пользователей рекомендовать?

В сервисе появились фанаты: они делали десятки запросов в сутки.

Прямо так и начинали часов в 11–12 вечера, а заканчивали в 5–6 утра, отсыпались и снова начинали работу, но ни один из них в своих социальных сетях не порекомендовал бесплатный инструмент.

Поэтому пришлось применить некоторые ограничительные меры.

Telegram-бот для анализа конкурентов — анализирует соцсети, ищет рекламные объявления

Как думаете, что в первую очередь стали делать пользователи?

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

Я понимал, что в СНГ за SaaS не принято платить, но чтобы даже не делились и не рекомендовали...

Константин Карпов, человек, который не удивлен

Увы, бесплатное люди не ценят, а подобные pet-project — это скорее хобби по созданию инструментов, упрощающих собственные рабочие процессы, чем возможность перехода к монетизации в том или ином виде.

Что умеет бот сегодня?

  • Находит ссылки на популярные соцсети на сайте, заходит на них и выдает основные показатели.
  • Умеет разворачивать цепочки ссылок: например, пользователь вводит Instagram, там есть ссылка на сайт, а на сайте есть ссылки на остальные соцсети — бот пройдет и найдет все.
  • Анализирует соцдем и географию подписчиков сообществ «ВКонтакте».
  • Анализирует топ-постов «ВКонтакте» за прошлый месяц и делает эстимацию рекламного бюджета, потраченного на продвижение открытых постов.
  • Выдает ссылку на активные объявления в Facebook и Instagram.

Пример ответа бота сегодня:

Запрос: sberbank.ru Сайт: http://sberbank.ru Одноклассники: https://ok.ru/sberbank Twitter: https://twitter.com/sberbank Вконтакте: https://vk.com/sberbank Официальное сообщество?: Да Основная ссылка: sberbank.ru Подписчики: 2920252 Мужчин: 50% Женщин: 50% Из России: 85% Из Москвы: 8% До 18: 10% 18-24: 26% 25-34: 34% 35-44: 16% Старше 45: 14% Фотографий: 7341 Фотоальбомов: 36 Видеозаписей: 411 Статей: 11 Документов: 1 Вконтакте стена за прошлый месяц: Всего постов: 39 Самые охватные посты: https://vk.com/wall-22522055_1908552 Показов: 20906753 Действий: 75198 IR: 0.36% https://vk.com/wall-22522055_1901999 Показов: 9822032 Действий: 2263 IR: 0.02% https://vk.com/wall-22522055_1911252 Показов: 1041283 Действий: 412 IR: 0.04% VR: 18.80% Продвигаемых постов: 9 Рекламный бюджет: 2563241 руб. Рекламный IR: 0.067% Facebook: https://www.facebook.com/bankdruzey Основная ссылка: https://t.me/sberbank Подписчиков: 434548 Реклама: https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=ALL&impression_search_field=has_impressions_lifetime&view_all_page_id=139263432837591 Instagram: https://instagram.com/sberbank Подписчиков: 375077 Instagram: https://www.instagram.com/sberbank Официальное сообщество?: Да Основная ссылка: http://sber.me/?p=Fvb9h Подписчиков: 375077 Подписок: 2 Всего постов: 1226 Highlights: 11 Лучший пост из последних: 12 c 12/06/2020: https://www.instagram.com/p/CBntxZkKj6W/ Действий: 4980 ERpost: 1.328% Av. ER: 0.679% YouTube: https://www.youtube.com/channel/UCM4aBRnEiNCf9fQFl2qx2Bg Видеозаписей: 893 Просмотров: 312246672

Как итог

Python удивительно простой и легкий в усвоении язык, огромное спасибо Дмитрию Родину и его курсу по Python, который я прошел около года назад.

Часть бота, которая взаимодействует с пользователями, была сделана на классном и очень гибком конструкторе чат-ботов — Salebot.

Спасибо всем, кто шерил и шерит бота в своих социальных сетях: Петр Костюков даже видео снял, а первые 500 пользователей пришли от Андрея Фрольченкова,

Отдельное спасибо Максиму Куликову — одному из первых пользователей, по итогам его комментариев бот стал выглядеть значительно дружелюбнее.

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

8080
34 комментария

Круто! 
Про монетизацию: есть сервис с подобной идеей у Анастасии Юговой, он анализирует страницы и группы вконтакте.
Используют в качестве лидмагнита, бесплатной ценности - затем предлагают воспользоваться другими их услугами /продуктами/ приглашают на мероприятия. 
то есть этот сервис решает задачи сбора базы и увеличения лояльности аудитории) 

успехов вам, побольше реализованных идей и вдохновения))

4

Посмотрел, у меня запланировано примерно такое же – рекомендации и больше пояснений.

1

Полезная вещь. Обратите внимание, что в facebook подписчики перепутаны с лайками сообщества.

2

Правильнее переформулировать или изменить показатель?

Никогда не сталкивался с принципиально различающимися показателями (типа подписчиков много больше или много меньше, чем лайков у страницы).

1

Мне это не нужно, но просто спасибо)

2

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

2

Получается у людей которые програмирование не знают(или знают минимально) есть идеи всяких парсеров и полезных инструментов. Люди которые у которых навыки програмирования есть, этих идей нет. А ведь иногда хочется просто написать какого-то бота ради саморазвития, а идей нет.

1