Функция применимости (градусник), техническое
Штука, которая делается почти элементарно, а качество систем сразу тащит на уровень выше. Как перейти от количественных цифр к качественным, задёшево.
Градусник или светофор, на техническом сленге, это функция, которая показывает соответствие показателя каким-то установленным нормам.
Встречается повсеместно, вы сами видели сотню раз. Конкретный внешний вид не особо важен.
Важна оценка. Зеленое — хорошо, желтое — так себе, красное — плохо. Просто и понятно. Вариант «градусника» (не трехцветка) вместо «светофора» встречается чуть чаще, потому что он погибче: градаций показателя больше, и шкала пошире. Когда вдобавок читается динамика или тренд, мини-графичек — это UX-семейство градусников sparkline.
Визуальщина нам интересна не настолько, сколько смысл и данные под ней.
А именно, как сказано ранее, позади этой красивости у нас есть:
— Показатель. Может быть прямым (количество измеримой херни в херне), может быть агрегатным (какая-то сумма показателей). Мы его можем либо получить — собрать, либо посчитать — вычислить. Чаще всего оба варианта сразу, потому что удобнее работать с нормализованным показателем (0…100% например).
— Нормы. Тут интереснее. Мы откуда-то знаем, из наших общих знаний о процессах и системах, что у нас считается хорошо, а что плохо. Чтобы нормализованные данные показателя привести к этим нормам и сравнить. Иногда качество — хорошо-плохо — нам не надо, а надо, например, долю от максимума.
Когда мы берем одно и другое, мы можем применить читерский математический инструмент: функцию применимости. Которая берет данные, берет шкалу, сравнивает одно с другим, дает на выходе оценку. Оценку мы можем отобразить наглядно.
— на входе у нас данные, одни-другие. Количественная оценка чего-то там.
— на выходе у нас состояние, хорошо-плохо, много-мало. Это качественная оценка, чего-то там.
Элементарной арифметикой «посчитали-поделили» мы из данных получаем знания. Прям в руки даём.
И вот это уже совсем не элементарный показатель.
Анекдотические сырые данные, «приборы = шестьдесят» не очень интересны в смысле практическом. Последующее «а чего шестьдесят? а чего приборы?» говорит ровно о том, что интересна больше следующая, практическая часть.
- Чего шестьдесят, шестьдесят где, в каком состоянии, как мерили, когда мерили — атрибутирование, это внутреннее свойство показателя.
- Также ответы на вопросы: это много или мало? а сколько надо? а сколько вчера было? а это мы продавали или покупали? — оценка нашего сырого материала, внешнее свойство, прикладное.
Шутка шуткой, но ковыряться с этими вопросами почему-то предоставляют аналитикам, и только им. Остальным сложно, это думать надо.
Собственно дешевый и полезный чит-код, о котором идет речь: реализовать в произвольной информационной системе моментальную оценку применимости вообще-чего-угодно, для наглядности, и для людей — это элементарно. Это математика в два действия (сложил+поделил).
Дальше люди в своем ежедневном инструменте у вас работают не просто с цифрами, количественные характеристики — а со знаниями, характеристиками качественными. Насколько скажут спасибо — мгновенно сами оцените.
Я вообще люблю такие быстрорастворимые штуки, на которые затрат щепотка, а пользы ведро.
В общем случае, функция отвечает на вопрос «заебись или не заебись».
«Измеримый заебись» предполагает постановку KPI, точнее заданного ориентира для индикатора. Или нескольких ориентиров.
- Простые случаи — для ориентира рассматривают диапазон значений, как оно в этом показателе вообще случается. Например, доля от максимума. Доля от среднего значения. Доля от вчера. Доля от уровня, на котором ты купишь себе яхту со шлюхами. Процент, на котором пора тушить ведром и готовить вазелин.
- Сложные случаи — это когда ориентир для значения еще надо тоже предварительно посчитать. Например, точка безубыточности. Отношение затрат к прибылям. Прогноз расхода при заданном rate.
Математикам (и к ним примкнувшим) удобно всё нормализовывать, например к единице или 100%, что одно и то же. Дальше с отображением проще, действительное/желаемое, 1=1=заебись, отклонения куда-то там укладываются в шкалу.
Любая математическая, статистическая, аналитическая тулзовина, даже студенческий Эксель и дедушкина Графана умеют с этим работать прямо из коробки.
Агрегатная функция нескольких переменных дает нам еще больше имбы и читерства. Потому что позволяет оценивать сразу сложное, и по-сложному (матан тут).
Агрегатная функция н.п., математически, это всегда та или иная сумма. Сумма не значений, это слишком банально, а тоже функций от них.
Главное, что на вход у вас есть пачка, NN разношерстных значений из данных, дальше что вы там внутри квадратного ящика сделаете с ними оптом — можно придумывать, с пользой для себя.
Пример, все любят примеры. Возьмем АФНП весовую по бинарным
- у нас есть заданный товар на складе, больше чем неснижаемый остаток?
да/нет, вес 0.2 - у нас есть его на складе больше, чем активных заказов на него?
да/нет, вес 0.3 - у нас есть на него актуальная товарная разрешиловка по ГТД?
да/нет, вес 0.2 - у нас есть на него материалы в вебе по списку, картинка-описание-инструкция-ссылка?
да/нет, вес 0.05 за каждый (0.2 общая) - есть запас расходников больше чем активных заказов за прошлый месяц?
да/нет, вес 0.1
Смотрите какой последний показатель придумал заковыристый, специально для демонстрации. Там посчитать придется, ага.
Сумма возможная, как можно заметить из весов, нормализована к 0…1 (0%...100%)
Вводим оценку, 100% = заебись, 0% = не заебись (т.к все веса взяты положительные). Берем цифры, прям из базы. Считаем сумму.
Больше = лучше.
Подобным инструментом вы за нулевое время можете сделать качественный вывод, скрин ниже:
- хвосторезы: есть, с запасом, доки ОК, материалы 4хОК, расходники ОК, оценка (0.2+0.3+0.2+0.2+0.1) = 100%🟢
- ухокруты: есть, заказ больше запаса, остальное ОК, оценка (0.2+0+0.2+0.2+0.1) = 70%🟡
- спиночёсы: тупо остаток, заказ больше запаса, материалы не ОК, расходников нет, оценка (0+0+0.2+0.1+0) = 30%🔴
Наглядно? Полезно? Не то слово. Главное — дешево, посчитать арифметику по событию может любая система хранения и/ли учета. Даже ваша.
Если вы знаете значения в любых попугаях для юнита А и юнита Б — вы можете их сравнить, фильтровать, нарезать в отчеты. Это свойство сравнимости данных (comparability).
Фундаментально не важно, как вы считали цифры, если вы считали их одинаково: одинаковое можно сравнивать. То есть, в терминах качественной оценки в этом примере, «покажи мне те товары, по которым показатель заебись меньше 80%». Опа, моментальная аналитика нарисовалась, т.к плоскую сортировку (и фильтры) умеет любая система.
Мой основной пойнт этого всего спича — не в том, что в мире бывает арифметика.
Пойнт в том, что вы (обычно) можете арифметику и оценку притащить в любые свои информационные системы ближе к людям, задешево и быстро.
Дальше дешевая формула прямо под руками уже позволяет дорогим людям экономить ценное время и принимать ценные решения.
Бонус раз: оценок может быть несколько. Зачем нам один заебись, если можно сделать несколько заебисей, в смысле несколько оценок параллельно? В примере выше, сделайте три оценки — оценку спроса, оценку возможности продать, оценку оформления. Склад работает с одной, продажи с другой, студент в инет-магазе с третьей. Менеджмент со всеми тремя разом (опа, четвертая оценка!) хоть по минимальной, хоть по агрегатной. Все счастливы. Затрат все еще никаких.
Бонус два: формулу можно менять, она на вашей стороне. Если продажи поняли, что наличие материалов не позволяет продавать, и это оказывается более важно — меняете веса формулы, пересчитываете базу за линейное время один раз — инструмент готов к работе дальше.
Бонус три: время, и временнЫе ряды. Если мы можем посчитать оценку на дату, т.е ввести для функции временнОй промежуток, значит мы можем посмотреть динамику. И увидеть, например, что под новый год у нас просаживаются показатели наличия (спрос вырос). Или увидеть, что показатели наличия и ГТД с каждой неделей тихо выползают из желтой в зелёную зону — логисты перестали ебланить, налицо положительная динамика. А среднее по оценке оформления и материалов наоборот, ползет вниз — пора идти рога ровнять.
Занудно напоминаю здесь, что не все средние одинаково полезны (гуглить «среднее, медиана и мода»), и вам чаще всего даже среднее по больнице не нужно. А нужны, например, минимумы/максимумы. Или «группа самых низких/высоких значений», то есть граничный персентиль у оценки.
Ничего страшного, софт такое умеет (даже графана с экселем), главное мысль «не только среднее» в голове держать — это быстро входит в привычку.
С временнЫми рядами аккуратнее, там надо уметь обеспечивать неизменность результатов за период. «Всё сложить и поделить» уже не подойдет, вам надо окно значений параметра контролировать (по времени).
Бонус четыре: слоеная функция, нелинейная функция. Кто сказал, что сумма должна быть плоской? Она никому ничего не должна, она просто функция. В примере выше, я могу взять оценку, и дальше ввести в рассмотрение отдельный фактор, входное значение: стоит у нас этот товар в промо-акциях? да/нет. Если товар в промках, то проебать по нему состояние должно быть больнее, и показатель «заебись» должен резче реагировать на значения, отличные от 100% — мы вкинулись в маркетинг, всрали денег, а продавать нормально не сможем. Надо отразить боль.
Для этого: я формулу переписываю так
= оценка-(1-оценка)*0,5*промо
Расхождения нет - штрафа нет. Расхождение есть - с "промо" оно больнее.
- Промо-ухокрут, с которым у нас не всё хорошо, уехал с 70% до 55%. В какой-то переходной зоне, с которой надо идти и разбираться
- Промо-спиночёс, с которым у нас полная жопа, уехал в -5% аж за край шкалы. Будет орать во всех отчетах и списках, что там жопа, беда, иди смотреть. Если убрать промо — будет меньше, возможно самая беда уже не там (и не стоило его продавать).
- А верхний хвосторез хоть ставь в промо, хоть не ставь, 100% останутся 100%. Зато, если в динамике у вас с ним что-то проебётся, то выставленный промо-маркер усилит влияние негативной части (1-оценка) чтобы кому надо, среагировали резче.
Нормализовывать или нет, дело вкуса. -5% режет глаз и портит интеллектуальные стандарты, но на практике max(0, x) точно так же покажет «0 = там дно», чего и требовалось. В варианты аналитики закапываться не буду, сами в интернетах варианты найдёте.
Если пойдете прикручивать, полезно добавить в агрегат любой не-квантованный показатель, чтобы размазать шкалу.
В примере выше, поскольку веса квантованные, в группу «30%» легко попадет несколько товаров; может 2, а может 200. Иди там, разбирайся внутри этой пачки.
Лучше добавить показатель, который размажет результат по шкале (31, 32, 35) и удобнее дальше в отчетах будет. Можно домножить на долю от количества/остатка, например (+штраф*0.1*остаток).
Если вы вспомнили про такую штуку, как ABC/XYZ, то есть когортный анализ с шахматным отчетом (частный случай и того, и другого) — правильно вспомнили.
- ABC это такая же функция применимости: дохода много (группа А), дохода средне (гр.Б), дохода копейки (гр.Ц). Вместо «дохода» можно подставить спрос, количество, любую херню. Градуснику пофиг, чего распределять.
- XYZ это тоже функция применимости, только она смотрит на отклонения: болтанки мало, показатель стабильный (группа X), есть болтанка (гр.Y), ваще разброс (гр.Z). Тоже градусник, тоже распределение, тоже вы всё правильно поняли.
Инструменту все равно. Вы можете подставить в шахматку любые функции оценки. Если они нормализованы (0-1) — то взаимозаменяемы, можно пихать прямо в типовые инструменты.
- Хотите шахматку отношения вашего проёба поставок (товара) к группе дохода, с него? Пожалуйста.
- Хотите отношение заполнения инет-магазина к спросу на товары? Да без проблем, любой каприз.
Предварительно посчитанные функции оценки в некоторых случаях имеет смысл сложить прямо в источник данных. В поля базы, в учетную систему, короче прям в статику. Ну и что что статика, поменяете формулу раз в год — пересчитаете, невелика потеря.
Зато тогда любой типовой инструмент сразу из коробки умеет с ними работать. Включая специализированную аналитику, эксель на коленке, таблички на вебе, BI-системы, OLAP-нарезки: им же всем пофиг, это готовая цифра.
Эта штука помогает людям работать. Людям, не самим системам, железкам пофиг. Функция применимости дописывает к количеству — качество, а в инструменты — добавляет смысл.
Одновременно с этим, применимость — часто проебывается, как явление.
Вместе с качеством и смыслом. Взять и добавить.
Кроме шуток, я на этом элементарном «чайном пакетике» с градусником вытащил 4 проекта из говна и бардака. Тупо посчитав показатели в два действия, и засунув их в рабочий инструмент.
Сразу глаза открылись. Потому что стало ясно, куда смотреть.
Hope that helps. С наступающим.