В 2020 году я написал статью Аналитика для Telegram-ботов с достаточно простым решением, с 2 метриками и неоптимальным хранением данных. После появления рекламы в Telegram, аналитика стала ещё более необходима, так как теперь можно рекламировать ботов напрямую пользователям. Плюсы моего нового решения в сравнение с другими на рынке: оно бесплатно, легко внедряется, 20 метрик для аналитики, можно создавать свои метрики, данные хранятся только у вас, подходит для любого количества сообщений в месяц, хранит историю за всё время подключения, может хранить данные по любому количеству ботов в одном месте. Также это решение можно внедрить не только для чат-ботов Telegram, а и для любых других чат-ботов(Slack, Discord, Vk и так далее). Библиотеку назвал LoraBot. Аналитика подключается в вашего бота как сторонняя библиотека, а все данные хранятся в PostgreSQL. Базу вы можете развернуть на своем сервере с помощью docker-compose файла, который лежит в репозитории. Если вы имеете свою базу данных или хотите развернуть её в облаке как SaaS, вам необходимо самому создать пользователя, запустить файл create_tables.sql и прописать доступы в .env файл. Также в репозитории вы можете найти Telegram, Slack, Discord, Vk чат-ботов с уже внедренной аналитикой и способом получать аналитику от LoraBot. Вам необходимо скачать LoraBot как zip или используя git:  Запустите базу данных для LoraBot с помощью следующей команды:Если у вас не установлен docker-compose, вы можете прочитать как устанавливать тут: https://docs.docker.com/compose/install/ Установите необходимые для LoraBot библиотеки: Установите пароль для доступа к аналитике в файле .env: Инициализируйте LoraBot в вашем боте: Установите функции сбора данных LoraBot, чтобы начать получать информацию для аналитики: Чтобы получить аналитику, сделайте какое-нибудь условное ветвление, например, в примере telegram_bot.py поставлено условие получения сообщения с ключевым словом, после этого проверяется пароль и после этого владелец бота получает доступ к аналитике: По ссылке вы можете найти все метрики, которые анализируются в LoraBot. Обратите внимание, что некоторые метрики имеют параметры для установки периода аналитики, объема возвращаемых данных или для установки типа сообщений/событий.Также некоторые функции возвращают только текстовую информацию, но есть функции, которые возвращают и визуализацию данных, и текстовую информацию. Вот несколько примеров того, как возвращать информацию из аналитики в Telegram-боте: Всего в LoraBot 20 метрик и их можно разделить на следующие группы: Общие метрики Пользовательские метрики Метрики для анализа сообщений Метрики для анализа событий Метрики для анализа отзывов и оценок от пользователей бота Остальные метрики Также есть отдельная функция, в которую вы можете передать свой SQL-запрос прямо из бота. Она будет полезна для создания кастомных метрик.  Схема базы данных, где хранится информация по пользователям, сообщениям, событиям и отзывам: Думаю на данной статье я закрою для себя эту тему, на данный момент решение оттестировано у меня в течение месяца и результат меня удовлетворил. Надеюсь данное решение поможет и вам. P.S. Аналитика это конечно хорошо, но если вам необходимо, чтобы ваш бот работал без ручного запуска, оберните его в Dockerfile, как советуется в этой статье Свой Telegram бот для отслеживания uptime своих серверов на python и docker, и запускайте его в том же docker-compose файле, где запускается и база данных. Хостить бота на сервер станет гораздо проще.