← Назад к вопросам

Сколько времени и ресурсов нужно для создания метрики завершения сделки между продавцом и покупателем?

2.3 Middle🔥 151 комментариев
#Метрики продукта#Опыт и проекты#Процессы и планирование

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Время и ресурсы для создания метрики завершения сделки между продавцом и покупателем

Краткий ответ

3-7 дней при наличии инженеров. 1-2 недели если нужны согласования. Главное — правильно определить "завершение сделки".

Определение метрики (День 1)

Что считаем "завершением"? Вот варианты, которые нужно согласовать с бизнесом:

  1. Платёж прошёл успешно (payment_status = success)

    • Pros: Прямой сигнал денег
    • Cons: Может быть отката, спор, refund
  2. Обе стороны подтвердили сделку (buyer_confirmed = true AND seller_confirmed = true)

    • Pros: Чёткое согласие обеих сторон
    • Cons: Медленнее, может быть дополнительный шаг
  3. Товар доставлен и принят (delivery_confirmed = true)

    • Pros: Самая реальная сделка
    • Cons: Зависит от времени доставки (может быть месяц)
  4. Платёж + Shipment (комбинированная)

    • payment_completed AND shipment_initiated
    • Самая реалистичная для marketplace

Встреча с PM (2 часа)

  • Объясняю варианты
  • Согласую какой подходит для бизнеса
  • Документирую decision

Технический анализ (День 1-2)

Что нужно проверить:

  1. Есть ли данные?
SELECT COUNT(*) as total_transactions,
       COUNT(CASE WHEN payment_status = 'completed' THEN 1 END) as completed,
       COUNT(CASE WHEN payment_status = 'pending' THEN 1 END) as pending,
       COUNT(CASE WHEN payment_status = 'failed' THEN 1 END) as failed
FROM transactions
WHERE created_at >= DATE_SUB(CURDATE(), INTERVAL 90 DAY);

Если данных нет → нужно добавить трекинг (день 3-5)

  1. Качество данных
-- Есть ли пропуски?
SELECT COUNT(*) as rows_missing_timestamp
FROM transactions
WHERE completed_at IS NULL AND status = 'completed';

-- Логичны ли временные метки?
SELECT COUNT(*) as impossible_timestamps
FROM transactions
WHERE completed_at < created_at;

Если много проблем → data cleanup (день 2-3)

  1. Какие таблицы нужны?
transactions (transaction_id, seller_id, buyer_id, created_at, completed_at, amount)
payments (payment_id, transaction_id, status, timestamp)
shippings (shipping_id, transaction_id, status, delivered_date)

Если таблиц нет → обсудить с инженерами (день 2)

Implementation (День 2-4)

Вариант A: Простая метрика (дата добавляется в БД уже)

Просто SQL запрос для дашборда:

SELECT 
  DATE(completed_at) as date,
  COUNT(*) as total_completed,
  COUNT(DISTINCT seller_id) as unique_sellers,
  COUNT(DISTINCT buyer_id) as unique_buyers,
  SUM(amount) as gmv_completed
FROM transactions
WHERE completed_at IS NOT NULL
GROUP BY DATE(completed_at)
ORDER BY date DESC;

Время: 4-8 часов (писать запрос, тестировать, документировать)

Вариант B: Нужно добавить трекинг события

Инженеры добавляют event в код:

# Когда платёж успешно прошёл
event = {
  'event_type': 'transaction_completed',
  'transaction_id': transaction_id,
  'seller_id': seller_id,
  'buyer_id': buyer_id,
  'amount': amount,
  'timestamp': now(),
}
track_event(event)

Время: 1-2 дня (написать требования, code review, test, deploy)

Вариант C: Нужна комбинированная метрика (платёж + доставка)

Больше логики:

SELECT 
  t.transaction_id,
  t.seller_id,
  t.buyer_id,
  t.amount,
  MAX(CASE WHEN p.status = 'completed' THEN p.completed_at END) as payment_completed_at,
  MAX(CASE WHEN s.status = 'delivered' THEN s.delivered_at END) as delivery_completed_at,
  CASE 
    WHEN MAX(p.status) = 'completed' AND MAX(s.status) = 'delivered' THEN 'completed'
    WHEN MAX(p.status) = 'completed' AND MAX(s.status) IS NULL THEN 'awaiting_shipment'
    ELSE 'pending' END as deal_status
FROM transactions t
LEFT JOIN payments p ON t.transaction_id = p.transaction_id
LEFT JOIN shippings s ON t.transaction_id = s.transaction_id
GROUP BY t.transaction_id;

Время: 2-3 дня (complex logic, edge cases, testing)

Дашборд (День 4-5)

Создать visualizations в Tableau/Looker:

Метрики:

  • Daily completed deals
  • Week-over-week growth
  • Conversion rate: created → completed
  • Time to completion (distribution)
  • Completed deals by seller/buyer segment
  • Revenue from completed deals

Время: 1 день (8 часов)

Пример дашборда:

[KPI Cards]
- Today completed: 1,234 (+12% vs yesterday)
- Week avg: 950 deals/day
- Completion rate: 78% (vs 75% last week)

[Trends]
- Line chart: daily completed over time
- Trend line, growth rate

[Segmentation]
- Completed by seller tier (gold, silver, bronze)
- Completed by buyer geography
- Completed by price bucket

[Anomalies]
- Alert if completion rate drops below 70%

QA и testing (День 5-6)

Валидация:

  1. Проверить числа вручную: выбрать 10 случайных transactions и verify завершены ли они
  2. Сравнить с системой платежей: есть ли расхождения?
  3. A/B: контрольные запросы, которые должны давать известный результат

Время: 1 день

Deployment & Monitoring (День 6-7)

  • Добавить в production дашборд
  • Alerting: если completion rate падает
  • Documentation: как метрика считается, edge cases
  • Training: показать team как её использовать

Время: 1 день

Итоговый timeline

ДеньЧтоWhoHours
1Definition, requirementsAnalyst + PM4h
2Technical analysis, data checkAnalyst + Engineer4h
3-4Implementation (tracing/SQL)Engineer or Analyst16h
5Dashboard & visualizationAnalyst8h
6QA, validationAnalyst + Engineer6h
7Deployment, monitoring, docsAnalyst + Engineer6h
TOTAL44 hours

Ресурсы

1 Product Analyst: 5-7 дней (полный день)

  • Definition, SQL, dashboard, documentation

0.5 Backend Engineer: 2-3 дня (если нужен трекинг)

  • Добавить event tracking, deploy

0.5 PM: 1 день

  • Definition meeting, prioritization

Total effort: ~3-4 человеко-недели

Если всё уже есть (best case)

Если данные уже в БД и трекинг работает:

  • Только SQL запрос → 1-2 дня
  • Дашборд → 1 день
  • Documentation → 0.5 дня
  • Total: 2-3 дня

Если нужно всё делать с нуля (worst case)

Если нет таблиц, нет трекинга, всё нужно спроектировать:

  • Requirements & design → 2 дня
  • Database schema → 1 день
  • Backend implementation → 3-5 дней
  • Frontend (если есть) → 2 дня
  • Testing & deployment → 2 дня
  • Total: 10-14 дней

Мой совет

  1. Начни с definition — потрать день на то чтобы понять что считаешь
  2. Проверь данные — может быть всё уже есть
  3. Используй простой подход — не переусложняй, если можно сделать SQL
  4. Итерируй — v1 за неделю, v2 с дополнениями через месяц
  5. Документируй — future you и team будут благодарны
Сколько времени и ресурсов нужно для создания метрики завершения сделки между продавцом и покупателем? | PrepBro