Перейти к содержанию
Содержание

Разброс срока поставки: посчитайте MAD рядом с медианой

Одинаковая медиана срока поставки может скрывать разный разброс. Для описания типичного абсолютного отклонения от медианы можно посчитать MAD. Это дополнительная характеристика вашей выборки, а не готовый страховой запас и не предельный срок ожидания.

Зафиксируйте состав наблюдений

Подготовьте одномерный массив lead_days с фактическими сроками сопоставимых поставок в днях. Сначала выберите события начала и окончания срока, правило для частичных поставок и календарные либо рабочие дни. Не смешивайте разные маршруты и условия в одну оценку без явной цели.

Разброс срока поставки: посчитайте MAD рядом с медианой

Отдельно сохраните открытые поставки, у которых ещё нет окончания. Исключение всех незавершённых заказов способно скрыть текущие задержки. MAD ниже описывает только ту завершённую выборку, которую вы передали в расчёт. Количество открытых и их текущий возраст показывайте рядом.

Рассчитайте исходный MAD

import numpy as np
from scipy.stats import median_abs_deviation

x = np.asarray(lead_days, dtype=float)
if x.ndim != 1 or x.size == 0:
    raise ValueError('Нужна непустая одномерная выборка')
if not np.isfinite(x).all() or (x < 0).any():
    raise ValueError('Проверьте пропуски и неверные сроки')

median_days = np.median(x)
mad_days = median_abs_deviation(x, scale=1.0, nan_policy='raise')

По справке SciPy, MAD равен медиане абсолютных отклонений от медианы выборки. При scale=1.0 сохраняется исходный масштаб. Для ручной проверки вычтите median_days из каждого срока, возьмите модули и найдите их медиану. Она должна совпасть с mad_days.

Не меняйте смысл настройкой scale

Параметр scale='normal' возвращает оценку с нормировкой для нормального распределения. Это другое числовое значение. Если цель отчёта состоит в описании медианного абсолютного отклонения в днях, сохраняйте scale=1.0 и подпишите показатель полностью. Не смешивайте варианты в сравнении периодов.

MAD устойчивее к отдельным крайним значениям, чем стандартное отклонение, но задержки от этого не перестают быть реальными. Нулевой MAD тоже не означает, что все сроки одинаковы: достаточно большой группы одинаковых сроков, чтобы медиана отклонений стала нулевой. Поэтому рядом сохраняйте исходные наблюдения и отдельно изучайте длинные задержки.

Используйте результат для разбора

Сравнивайте медиану и MAD для групп с одинаковыми правилами и показывайте число наблюдений. Рост разброса является поводом разобрать даты, маршрут, этап ожидания и полноту поставок. Сам MAD не устанавливает причину и не задаёт вероятность опоздания. Решение о запасе или обещанном сроке требует отдельной модели и проверки на ваших данных.

Теги

Комментарии 0

0 / 1500

Популярные статьи