【发布时间】:2020-04-02 09:20:53
【问题描述】:
我有以下示例 df,其中包含一个类别 (Cat),其中显示了不同的文章(比萨饼或意大利面)及其 销售额 不同日历周的数据 (CW)。几周后会有促销,导致销售额上升。最大的 6 个销售额被标记为此类促销活动。
# example df
set.seed(99999)
df <- data.frame(Cat = rep(c("A","B"),52),
Article = rep(c("Pizza","Pasta"),52))
df <- df[order(df$Cat),]
df$CW <- rep(1:52,2)
df$sales <- abs(2+rnorm(104))
df$promotion <- ifelse(rank(df$sales,ties.method=c("last"))>98,1,0)
现在的挑战是计算判断促销活动的“基准”。基线需要满足以下要求:
- 每个文章和类别,需要在促销前三周计算为基线
- 基线应该是“正在运行”,即每个日历周都应该有一个基线
- 在基线建设的前三周内,不得有任何晋升。如果有,则忽略该特定周,并采取更多的前一周,直到找到没有晋升的一周并达到三周。如果这不应该是可能的,例如CW 1-3,然后采用下一个未来基线值
我尝试使用现有的 posts on stackoverflow 解决这个挑战,但没有成功。因此,我正在寻求帮助。
【问题讨论】:
-
亲爱的@Ronak Shah,你能帮我解决这个问题吗?我非常感谢您对我之前的question 的帮助:)
标签: r moving-average promotions