Подписная платформа используется повторно под новый проект. До 20 февраля 2026 включительно страница вела трафик под Project LEGACY. С 21 февраля 2026 страница передана другой команде и работает как Project NEW.
Особенность платформы: подписчики, привлеченные во время первого проекта, продолжают генерировать revenue (повторные списания, контентные покупки, донаты) еще 3–6 месяцев после передачи. Поэтому при распределении revenue критически важно учитывать дату первой подписки подписчика, а не дату транзакции — иначе эффективность нового проекта будет искажена.
Основной принцип
Проект подписчика определяется один раз — по дате первой подписки:
- до 20.02.2026 включительно → LEGACY
- с 21.02.2026 → NEW
После присвоения проект не изменяется. Все транзакции подписчика всегда относятся к его проекту.
Что считать
Только NET revenue по типам: подписки, повторные списания (rebills), контентные покупки (PPV), донаты (tips). Refunds/chargebacks — отдельным месячным отчетом, без перерасчета предыдущих отчетов.
Источник данных
Парсинг страницы статистики подписной платформы (web, Statements page). Парсер получает транзакции и дату первой подписки каждого подписчика. Запуск — на Windows-сервере со стабильной сессией.
Структура базы данных
Таблица fans: fan_id, username, join_date, project (LEGACY/NEW), first_seen_at.
Таблица transactions: tx_datetime, tx_date, fan_id/username, project, type (subscription/rebill/ppv/tip/refund), net_amount.
Требования: без дубликатов, повторный запуск не изменяет историю, добавляются только новые транзакции.
Отчеты в Telegram (запуск каждый час)
Два отдельных канала: reports_channel и logs_channel.
Отчеты для каждого проекта отдельно:
- Daily: подписки / rebills / PPV / tips / total / количество транзакций
- Weekly: календарная неделя (Пн–Вс) с отображением диапазона дат
- Monthly: разбивка по типам + total
- Lifetime: общие итоги с разбивкой
- Refunds: отдельный месячный отчет
Logs: подтверждение запуска, количество новых транзакций, ошибки, алерты (не удалось получить net_amount, join_date, изменилась верстка).
Edge cases
Если join_date не определено → project = UNKNOWN, транзакции не включаются в отчеты, система делает повторную попытку при следующем запуске.
Безопасность
Все credentials хранятся только на сервере. В Telegram передаются исключительно агрегаты.
Acceptance criteria
- Все подписчики до 20.02.2026 → LEGACY навсегда
- Все подписчики с 21.02.2026 → NEW навсегда
- Транзакции привязываются к проекту подписчика, а не по дате транзакции
- Используется NET, не gross
- Weekly = Пн–Вс с диапазоном дат
- Без дубликатов транзакций
- Refunds отдельно раз в месяц
- Логи и алерты работают