Р.: Какой подход я должен использовать для оптимизации целей для достижения наилучших результатов на основе исторических данных? - PullRequest
0 голосов
/ 29 ноября 2018

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)

Большое спасибозаранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...