Разработка AI-системы анализа Product-Market Fit
Product-Market Fit (PMF) — степень соответствия продукта потребностям рынка. Классическая метрика Шона Эллиса («40% пользователей расстроятся, если продукт исчезнет») — хороший старт, но неполная картина. AI-система агрегирует сигналы из разных источников для комплексной оценки PMF.
Сигналы Product-Market Fit
Качественные сигналы: интервью с пользователями, открытые ответы в опросах, отзывы — AI извлекает паттерны боли, которую решает продукт, и ценности, которую получают пользователи.
Количественные сигналы: retention cohorts, NPS trend, viral coefficient (k-factor), time-to-value, activation rate.
Поведенческие сигналы: какие функции используются чаще всего, как часто пользователи возвращаются, где происходит отток.
Анализ интервью и обратной связи
class PMFSignalExtractor:
def extract_from_interviews(self, interview_transcripts: list[str]) -> PMFSignals:
all_signals = []
for transcript in interview_transcripts:
signals = llm.parse(f"""Извлеки сигналы Product-Market Fit из интервью.
Транскрипт: {transcript}
Найди:
- Какую проблему/боль решает продукт для этого пользователя
- Как они справлялись до продукта (альтернативы)
- Что они потеряют, если продукт исчезнет
- Какие функции они называют наиболее ценными
- Что не устраивает / чего не хватает
- Кому они рекомендовали/порекомендовали бы продукт""",
response_format=InterviewPMFSignals
)
all_signals.append(signals)
# Агрегация паттернов по всем интервью
return self.aggregate(all_signals)
def aggregate(self, signals: list[InterviewPMFSignals]) -> PMFSignals:
pain_points = Counter()
value_props = Counter()
missing_features = Counter()
for s in signals:
for pain in s.pains_solved:
pain_points[pain] += 1
for value in s.perceived_values:
value_props[value] += 1
for feature in s.missing_features:
missing_features[feature] += 1
return PMFSignals(
top_pains=pain_points.most_common(10),
top_values=value_props.most_common(10),
top_missing=missing_features.most_common(10),
sample_size=len(signals)
)
Sean Ellis Score — автоматизация
Опрос «Насколько вы расстроитесь, если не сможете пользоваться продуктом?» с открытым вопросом «Почему?» — AI анализирует открытые ответы разочарованных (ответили «чуть расстроюсь») и нейтральных — это аудитория, которую нужно конвертировать.
Cohort retention analysis + LLM insights
Когортный анализ retention стандартен, но интерпретация — нет. AI смотрит на паттерн: где происходит основной отток (день 1, неделя 2, месяц 3), сопоставляет с продуктовыми изменениями в те периоды, генерирует гипотезы.
def interpret_retention_curve(
cohort_data: CohortRetentionData,
product_changelog: list[ChangelogEntry]
) -> RetentionInterpretation:
# Точки резкого падения retention
drop_points = detect_retention_drops(cohort_data)
interpretation = llm.generate(f"""Интерпретируй паттерн retention:
Данные cohort: {cohort_data.summary()}
Резкие падения: {drop_points}
Изменения продукта: {format_changelog(product_changelog)}
Выдели:
- Вероятные причины падений на каждом этапе
- Гипотезы, которые стоит проверить
- Конкретные функции или UX-паттерны для A/B тестирования""")
return RetentionInterpretation(narrative=interpretation, drop_points=drop_points)
PMF Score Dashboard
Сводная оценка PMF на основе взвешенной комбинации сигналов: Sean Ellis Score (вес 30%), 90-day retention (25%), NPS (20%), organic growth rate (15%), qualitative PMF signals из интервью (10%). Трендовый график — движется ли продукт к PMF или от него.







