Три математических подхода к аллокации бюджета
В новой статье на Хабре мы разбираем задачу, с которой сталкивается любой продуктовый аналитик и маркетолог.
Задача: есть бюджет B и n клиентов с разной доходностью. Как распределить деньги так, чтобы максимизировать ROI?
Дано:
Скаляр B ∈ R>0.
Вектор V = [V1, V2, …, Vn] ∈ Rn>0.
Константы: ϵ>0, Bavg>0, Bmax>0.
Найти: Vb = [Vb₁,Vb₂, …, Vbₙ] ∈ Rⁿ>0
Три подхода к решению:
1️. Линейное ранжирование
qi = (ri - Rmedian - 1) × Δ
где Δ = (ERavg - ERmin) / Rmedian
Простой, но игнорирует абсолютные разницы между клиентами.
2️. Сохранение формы распределения
Vb = V - mean(V) + ERavg
scale = (ERmax - ERmin) / (Vmax - Vmin + 1e-8)
Vb = Vb × scale + shift
Нормирует целевое распределение с учетом границ.
3️. Оптимизация через минимизацию функции потерь
По сути, это вариация подхода 2. В этом подходе мы стремимся максимально сохранить исходное распределение и минимизировать отклонения от ограничений на среднее и максимально/минимально допустимые значения, переходя к задаче оптимизации
Результаты, все формулы, примеры кода на Python и кейсы из банковской практики ждут вас в статье. Если вы аналитик, продуктолог или просто любите, когда бизнес-решения основаны на точной математике и реальных данных — это для вас.