Підписна платформа використовується повторно під новий проєкт. До 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 окремо раз на місяць
- Логи та алерти працюють