docs(labs): расследования выручки привязаны к задачам DE

Зачем: результатом лабораторных должны быть обоснованные решения о подготовке данных для витрин.

Что: добавлены проверяемые результаты сверки полноты, выбора ключа, точного разбора и правила пересчета; обновлены программа и индекс, убран подсчет долей потерь.

Проверка: SELECT-запросы под analyst, расчеты по сохраненной истории девяти наблюдений, 54 локальные ссылки, git diff --check и независимое техническое ревью.
This commit is contained in:
ddadmin committed 2026-09-22 04:28:27 -04:00
1 parent bb087f4477
commit 3e9249933b
6 files changed
+119 -57

No files matched your search

+20 -7
View File
@@ -1,7 +1,7 @@
# Какая позиция объясняет разницу в сумме
**Чему учит:** перейти от расхождения суммы заказа к конкретному товару и
проверить объяснение с точностью до копейки.
**Чему учит:** разобрать вложенные данные без потери точности и локализовать
расхождение двух источников до товарной позиции.
Факультатив доступен после ступени 1. В DBeaver используйте пользователя
`analyst` из [инструкции подключения](../../../README.md#подключиться-из-dbeaver).
@@ -10,6 +10,9 @@
## Найдите заказ
Суммы покупки в трекере и заказа в магазине различаются. Разберите их позиции
и проверьте отдельно точность своего запроса и различия между событием и заказом.
В `dm.purchase_vs_orders_v` выберите один заказ с
`mismatch_class = 'amount_delta'`. Возьмите закрытый день: `order_day`
не позднее `max(snapshot_date) - 6` из `ods.order_v`. Сохраните `order_id`,
@@ -40,7 +43,9 @@
Сопоставьте позиции по артикулу так, чтобы остались видны товары,
присутствующие только с одной стороны. Для каждой позиции сравните наличие,
цену и количество. Что различается и сколько это добавляет к расхождению
сумм? В результате нужны строки товаров, а не только две итоговые суммы.
сумм?
Сохраните запрос сверки для выбранных даты и номера заказа; в результате
оставьте артикул, значения с обеих сторон и разность стоимостей позиций.
## Проверьте объяснение
@@ -58,14 +63,22 @@
[форматом выгрузки](../../formats/clickstream-event.md). Если все цены
выбранной корзины целые, возьмите еще один заказ с расхождением и дробной ценой.
В коротком объяснении назовите заказ, товар, количество, цену и разницу.
Какие строки подтверждают найденное расхождение? Есть ли в источниках
сведения о том, почему оно возникло? Отделите наблюдения от предположений.
## Выберите поля для точного расчета
Укажите рядом с запросом, откуда брать цену, каким типом ее читать и по какому
ключу сопоставлять позиции. Подтвердите выбор результатами обеих сверок:
суммы разобранных позиций с суммой своего источника и позиций двух источников
между собой. Какой результат укажет на ошибку вашего разбора, а какой
потребует искать причину выше — в данных, которые получил запрос?
## Что должно получиться
- [ ] позиции клиента и магазина сопоставлены по артикулам;
- [ ] сохранен запрос сверки позиций, не теряющий товары без пары;
- [ ] все три равенства сходятся до копейки;
- [ ] найден пример потери точности в готовом массиве цен;
- [ ] расхождение объяснено конкретной позицией, а скидка и доставка
отделены от сравнения корзин.
- [ ] выбор полей, типа денег и ключа сопоставления подтвержден расчетами;
- [ ] расхождение источников сверки отделено от ошибки своего разбора и различия
между стоимостью корзины и итогом со скидкой и доставкой.