Keywords: Umsatzprognose, Umsatz, Forecasting, Statistik Beratung, Data Science

Einführung

Im folgenden geht es um den Datensatz Caffe-Data. Eine genaue Beschreibung des Datensatzes findet sich hier. Es werden Daten erhoben aus einem kleinen Kafé zu Umsatz pro Tag und ähnlichem.

Wir wollen versuchen den Umsatz pro Tag zu prognostizieren.

Dazu verwenden wir Support Vector Machines und folgenden R-Skript:

c <- read.csv("cafedata.csv",header=TRUE)
library(e1071)
mm <- model.matrix( Sales ~ DayOfWeek,c)
c <- data.frame(c, mm)
shift <- function(x, n){
  c(x[-(seq(n))], rep(NA, n))
}
c$nextSales1 <- shift(c$Sales,1)
c$nextSales2 <- shift(c$Sales,2)
model <- svm( nextSales2 ~ Sales+nextSales1+DayOfWeekMon+ DayOfWeekThu+ DayOfWeekTue+ DayOfWeekWed,data=c)
p <- predict(model,data=c)
plot(c$nextSales2[!is.na(c$nextSales2)],type="b",main="Forecasting / Prognose Umsatz pro Tag", sub="Schwarz = Umsatz pro Tag in Dollar, Grün = Prognose des Umsatzes in Dollar",ylab="Umsatz in $", xlab="Tag")
lines(p,col="green",type="b")

Der durchschnittliche Fehler der Umsatzprognose liegt bei \(19.55\) $ also knapp \(20\) $. Das heißt, wenn zum Beispiel an einem Tag der Umsatz zu \(100\) $ prognostiziert wird, dann wird er im Schnitt bei \(80\) $ oder \(120\) $ liegen.

sum(abs(p-c$nextSales2[!is.na(c$nextSales2)]))/length(p)
## [1] 19.54518