Files
clickstream-ch-kafka-supers…/.scratch/feature-data-generator/issues/02-visit-page-path-and-monotonic-time.md
T
Dmitry Dementiev 32f4fee41c feat(generator): добавлена модель связанного визита
- Зачем:
  - генератор должен создавать учебно полезный визит с общим click_id, правдоподобным путём и честным тиковым бюджетом событий.
- Что:
  - добавлена марковская цепочка страниц, запланированные метки времени и потолок GEN_MAX_SESSION_EVENTS.
  - добавлен набор тикового батча из нескольких визитов до рассчитанного бюджета событий.
  - обновлены тесты, README, KNOWN_ISSUES и статусы задач 01/02.
- Проверка:
  - uv run --with pytest --with-requirements generator/requirements.txt pytest generator/tests -q
2026-06-11 12:52:48 +03:00

38 lines
2.3 KiB
Markdown

Status: ready-for-human
# Путь визита по страницам и монотонное время
## What to build
Расширить минимальный визит до правдоподобного пути по страницам. Визит должен
начинаться со страницы, выбранной по стартовому распределению, дальше идти по
марковской цепочке и назначать событиям запланированные метки времени, которые
строго растут внутри `click_id`.
Задача остаётся без Kafka и без популяции пользователей: она проверяет качество
одного визита как учебного объекта и как основы будущей воронки.
Источник решений: `docs/specs/2026-06-10-generator-math-model.md`, раздел
«События и путь по страницам».
## Acceptance criteria
- [x] Тест через публичный интерфейс генератора показывает, что
`event_timestamp` внутри одного `click_id` строго возрастает.
- [x] Метки времени событий являются запланированными моментами визита, а не
одинаковым `now()` для всего набора событий.
- [x] Паузы внутри визита меньше 30 минут; 95-й перцентиль на симуляции лежит в
масштабе единиц минут.
- [x] Визит не может зациклиться бесконечно: длина ограничена потолком
`GEN_MAX_SESSION_EVENTS` или его новым эквивалентом.
- [x] Доля визитов, дошедших до `/confirmation`, на симуляции сопоставима с
ориентиром сида около 25%.
- [x] Визит может продолжаться после `/confirmation`; `/confirmation` не
считается обязательным последним событием визита.
## Blocked by
- `.scratch/feature-data-generator/issues/01-minimal-connected-visit.md`
## Comments