1- Что у меня есть
У меня есть исторические данные со следующими данными на магазин (около 5.000 магазинов)
- (%) Mixпремиум-продукта к общему продукту (в месяц)
- Ежемесячные цели, установленные для (%) этого премиального продукта к общему продукту
Пример:
JUNE | JULY
STORE Mix Goal | STORE Mix Goal
A 20% 19% | A 20% 21%
B 18% 18% | B 17% 20%
C 25% 27% | C 26% 26%
С каждым месяцем у меня будет рост по сравнению с предыдущим месяцем и рост по сравнению с предыдущим месяцем
Пример:
JUNE -> JULY
STORE Growth in Mix Growth in Goal
A 0% +1%
B -1% +2%
C 1% +1%
2- Что яхочу сделать
Я хочу сделать наиболее оптимальным образом в R:
Использовать исторические данные для расчета следующих целей для каждого магазина, разделяющего магазины в кластеры
Итак, R должно:
- Разделить на кластеры (например: 0% - 10%, 10% -20% и т. Д.)
- Для каждого кластерарассчитать лучший прирост цели (цель за месяц - микс предыдущего месяца), который должен предоставить магазину наилучший результат смешивания
3- Пример возможного решенияn:
Range of Mix | Growth in goal
0-10% | +3%
10-18% | +2,5%
18%-27% | +1,5%
... | ...
В этом примере решения следующей целью (в августе) для каждого магазина будет:
- Компания A: 20% (в июле)+ 1,5% (рекомендуемая цель для диапазона 18-27%) = 21,5%
- Компания B: 17% (смешанный июль) + 2,5% (рекомендуемая цель для диапазона 18-27%)= 19,5%
- Компания C: 27,5%
4 - Воспроизводимый пример
> store <- c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J")
> mix_june <- c(0.20, 0.18, 0.25, 0.30, 0.10, 0.25, 0.38, 0.41, 0.28, 0.12)
> goal_june <- c(0.19, 0.18, 0.27, 0.30, 0.11, 0.23, 0.35, 0.43, 0.27, 0.13)
> mix_july <- c(0.20, 0.17, 0.26, 0.31, 0.10, 0.24, 0.34, 0.42, 0.27, 0.11)
> goal_july <- c(0.20, 0.20, 0.26, 0.33, 0.09, 0.25, 0.30, 0.44, 0.26, 0.13)
> mix_august <- c(0.24, 0.15, 0.26, 0.33, 0.10, 0.23, 0.35, 0.41, 0.29, 0.12)
> goal_august <- c(0.21, 0.22, 0.27, 0.33, 0.11, 0.26, 0.32, 0.40, 0.28, 0.13)
> base <- data.frame(store, mix_june, goal_june, mix_july, goal_july, mix_august, goal_august)
> base2 <- data.frame(store = base$store, growth_mix_july = base$mix_july- base$mix_june, growth_goal_july = base$goal_july - base$goal_june, growth_mix_august = base$mix_august- base$mix_july, growth_growth_august = base$goal_august - base$mix_july)
Большое спасибозаранее