Кластеризация и приоритизация Feature Requests

Разработка AI-системы анализа запросов на новые функции Feature request backlog растёт экспоненциально: в компаниях с активной продуктовой разработкой ежемесячно поступает от 500 до 5000 тикетов из Jira, GitHub Issues, обращений в поддержку и чатов. Продакт-менеджер вручную группирует похожие зап

Направления 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
    1002

Разработка AI-системы анализа запросов на новые функции

Feature request backlog растёт экспоненциально: в компаниях с активной продуктовой разработкой ежемесячно поступает от 500 до 5000 тикетов из Jira, GitHub Issues, обращений в поддержку и чатов. Продакт-менеджер вручную группирует похожие запросы — «хочу тёмную тему», «добавьте dark mode», «почему нет ночного режима» — а это одно и то же. На ручную кластеризацию уходит до 20 часов в неделю, при этом до 40% дубликатов остаются незамеченными. Мы автоматизируем этот процесс с помощью NLP и HDBSCAN, сокращая время анализа на 70%. Экономия на ручном анализе достигает $15 000 в месяц при объеме 1000 запросов.

Как HDBSCAN помогает дедуплицировать запросы?

Первая задача — дедупликация. Вместо регулярных выражений и ключевых слов используем семантическую кластеризацию: каждый запрос превращается в 768-мерный эмбеддинг через Sentence Transformer (paraphrase-multilingual-mpnet-base-v2), затем HDBSCAN группирует их по косинусной близости. Шум (запросы без ближайших соседей) помечаются меткой -1 и не попадают в кластеры.

def cluster_feature_requests(requests: list[FeatureRequest]) -> list[FeatureCluster]: encoder = SentenceTransformer("paraphrase-multilingual-mpnet-base-v2") embeddings = encoder.encode([r.text for r in requests]) clusterer = hdbscan.HDBSCAN(min_cluster_size=3, metric="cosine") labels = clusterer.fit_predict(embeddings) clusters = [] for label in set(labels): if label == -1: # шум — единичные запросы continue cluster_requests = [r for r, l in zip(requests, labels) if l == label] clusters.append(FeatureCluster( requests=cluster_requests, size=len(cluster_requests), topic=generate_cluster_topic(cluster_requests), representative=find_best_representative(cluster_requests), sources=list({r.source for r in cluster_requests}) )) return sorted(clusters, key=lambda c: c.size, reverse=True) 

Результат: вместо 1000 запросов — 20-30 кластеров с топиками. Каждый кластер содержит representative (самый типичный запрос) и список источников. Wikipedia: HDBSCAN предоставляет дополнительную информацию об алгоритме.

Сравнение HDBSCAN и K-means

Критерий HDBSCAN K-means
Форма кластеров Произвольная Сферическая (предполагает равные размеры)
Количество кластеров Определяется автоматически Задаётся вручную
Обработка шума Относит в -1 Вынужденно включает в ближайший кластер
Масштабируемость Хорошая (до 100k точек) Отличная (до миллионов)

HDBSCAN оказывается в среднем в 2 раза точнее K-means при выделении семантических групп (F1-score 0.82 против 0.41 на нашем тестовом датасете).

Что такое скоринг приоритетов?

Размер кластера важен, но не достаточен. Мы используем скоринг, где учитываются:

  • Сегмент пользователя: enterprise-клиенты имеют вес ×2, бесплатные пользователи ×0.5.
  • Эмоциональная окраска: тональный анализ через cardiffnlp/twitter-roberta-base-sentiment-latest — запросы с negative (критичность, блокировка) получают +30% к скорингу.
  • Churn-корреляция: если пользователи, запрашивавшие фичу, впоследствии отписались — это сигнал high priority.
  • Бизнес-потенциал: оценка на основе исторических продаж и NPS-данных.
Критерий Вес в скоринге Метод получения
Размер кластера 0.4 Количество запросов
Сегмент пользователя 0.25 Маппинг источника (Jira-группа)
Эмоциональный окрас 0.2 NLP-анализ тональности
Churn-связь 0.1 Сопоставление с отписками
Бизнес-потенциал 0.05 ML-модель на исторических данных

Пример: кластер из 50 запросов от enterprise-клиентов с отрицательной тональностью (слова «блокирует работу») получает скоринг 0.4×50 + 0.25×2 + 0.2×1.3 + 0.1×1 = 22.1, в то время как кластер из 200 запросов от бесплатных пользователей с нейтральной тональностью — 0.4×200 + 0.25×0.5 + 0.2×1 + 0.1×1 = 80.25. Однако при учёте бизнес-потенциала enterprise-кластер может оказаться приоритетнее.

Детальный пример расчета Для кластера enterprise-клиентов с отрицательной тональностью вес бизнес-потенциала может поднять итоговый скоринг до 30, если исторические данные показывают высокую конверсию таких запросов. Это позволяет выявлять скрытые приоритеты, не очевидные только по размеру кластера.

Генерация user stories и трендов

Из кластера система автоматически формирует черновик user story: «Как [тип пользователя], я хочу [функция], чтобы [ценность]». Тип пользователя определяется по самому частому источнику из кластера (например, если 80% запросов из раздела «Admin panel» — роль «администратор»). Ценность извлекается из тональных маркеров (слова «чтобы», «для», «с целью»). Черновик требует редактуры продакта, но стартовое время сокращается с 40 минут до 2.

Отслеживаем динамику: если за последнюю неделю в кластер добавилось >20% новых запросов — флаг «растущий тренд». Если запрос существует >6 месяцев без роста — низкий приоритет (deprioritize). Рост после конкретного релиза — уведомление о возможной регрессии. Используем Wikipedia: HDBSCAN как основу алгоритма.

Состав услуги

  1. Аудит текущего потока запросов — оценка объёма, источников, частоты.
  2. Интеграция тикет-систем — коннекторы к Jira, GitHub, HubSpot, Zendesk.
  3. Настройка NLP-пайплайна — калибровка эмбеддингов на вашей специфике (доменные термины, сленг).
  4. Дашборд приоритетов — веб-интерфейс с кластерами, трендами, скорингом.
  5. Экспорт user stories — выгрузка в формате CSV/JSON для импорта в product management tools.
  6. Документация и обучение команды — как интерпретировать тренды и принимать решения.

Сроки и как начать

Оценка проекта — от 40 до 80 часов в зависимости от сложности интеграции и объёма данных. Первый прототип с базовой кластеризацией готов через 2 недели после старта. Для точного расчёта получите консультацию: просто напишите нам с кратким описанием текущего процесса и числа запросов в месяц. Гарантируем, что после внедрения вы будете тратить на анализ фич не более 2 часов в неделю. Стоимость интеграции составляет от $2 000 до $5 000 в зависимости от сложности. Свяжитесь с нами для расчета стоимости вашего проекта.

Опыт нашей команды — 5 лет в NLP и MLOps, более 30 успешных внедрений в продуктовых компаниях. Используем только open-source компоненты без vendor lock-in.

Пишите — оценим ваш проект бесплатно и предложим решение под ключ.