docs(labs): добавлено наблюдение за выручкой до закрытия дня
Зачем: связать опоздания и отмены с изменением уже рассчитанного отчета. Что: лабораторная с сохранением состояний заказов, ссылки в индексе и программе; убраны повторы в описании раздела. Проверка: восемь однодневных world_next_day и etl_pipeline на Airflow 3.3.0; изменения сумм сошлись до копейки, закрытый день неизменен, DQ пройдены. Проверены 54 локальные ссылки, SQL-примеры и git diff --check.
This commit is contained in:
1 parent
2502277af1
commit
515f386e5f
3 files changed
+158
-29
No files matched your search
@@ -161,34 +161,21 @@
|
||||
изменение выручки и история отмен используют одну историю заказов, поэтому
|
||||
для них выбрана общая работа вместо трех отдельных.
|
||||
|
||||
- **Куда пропали покупки (#186).** Учащийся сравнивает подтверждения и события
|
||||
покупки, находит заказы без события и объясняет разрыв воронки конкретными
|
||||
заказами.
|
||||
- **Почему повтор покупки завышает выручку (#187).** Движок убирает технический
|
||||
дубль строки, а повтор одной покупки приходится находить по деловому ключу.
|
||||
Учащийся сравнивает сумму событий с суммой по уникальным покупкам и
|
||||
подтверждает, что разница равна вкладу повторов. Другие причины расхождения
|
||||
с выручкой магазина при этом остаются.
|
||||
- **Какая позиция объясняет разницу в сумме.** Учащийся сопоставляет корзину
|
||||
из сырого `ecommerce` с позициями заказа, находит удаленный товар и объясняет
|
||||
разницу до копейки. Для точных цен нужен исходный JSON: в готовых массивах
|
||||
событий цены округлены до рублей.
|
||||
- **Почему вчерашняя выручка меняется сегодня (#188).** Учащийся наблюдает один
|
||||
день по мере поступления слепков: появляются опоздавшие заказы, меняются
|
||||
статусы и выручка. По сохраненным состояниям объясняет причины изменений,
|
||||
определяет момент закрытия дня и отделяет доказанную оплату отмененного
|
||||
заказа от случаев, в которых историю оплаты восстановить нельзя.
|
||||
- **[Куда пропали покупки](../labs/optional/missing-purchases.md) (#186).**
|
||||
Учащийся объясняет разрыв воронки заказами, для которых нет события покупки.
|
||||
- **[Почему повтор покупки завышает выручку](../labs/optional/duplicate-purchases.md) (#187).**
|
||||
Разность клиентских сумм объясняется повторными событиями одной покупки.
|
||||
- **[Какая позиция объясняет разницу в сумме](../labs/optional/order-amount-difference.md).**
|
||||
Сравнение позиций из исходного JSON и заказа объясняет расхождение до копейки.
|
||||
- **[Почему вчерашняя выручка меняется сегодня](../labs/optional/revenue-over-time.md) (#188).**
|
||||
История одного дня связывает опоздания, оплату и отмены с изменением выручки,
|
||||
позволяет определить момент закрытия дня и границу знания об оплате.
|
||||
|
||||
В четвертой лабораторной учащийся сам собирает историю одного дня оформления
|
||||
заказов. Перед наблюдением он ставит `world_live` на паузу и дожидается
|
||||
завершения начатых прогонов. Затем продвигает
|
||||
мир по одному модельному дню через `world_next_day` и после каждого запуска
|
||||
выполняет `etl_pipeline`. Только после завершения конвейера сохраняет дату
|
||||
слепка, состояния отдельных заказов и выручку выбранного дня. Эти результаты
|
||||
позволяют сравнить наблюдения даже после удаления сырых слепков. Готовые
|
||||
слепки и сочетание готового примера с собственным наблюдением отклонены:
|
||||
учащийся может получить нужную историю на стенде и сам увидеть, как новые
|
||||
данные меняют уже рассчитанный отчет.
|
||||
В четвертой лабораторной выбрано собственное наблюдение: учащийся продвигает
|
||||
мир по одному дню через Airflow и сохраняет результаты после обновления витрин.
|
||||
Готовые слепки и сочетание готового примера с собственным наблюдением
|
||||
отклонены: нужную историю можно получить на стенде и самому увидеть,
|
||||
как новые данные меняют уже рассчитанный отчет.
|
||||
|
||||
День считается закрытым после получения и обработки последнего слепка
|
||||
семидневного окна изменяемости; этот слепок доставляется следующим модельным
|
||||
|
||||
Reference in new issue
Block a user