library(readr)
library(readxl)
library(writexl)
library(openxlsx)
library(forecast)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(reshape2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ymd)
library(lubridate)
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:ymd':
##
## isoweek, mday, month, quarter, wday, yday, year, ymd
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(readxl)
Vendas <- read_excel("Vendas.xlsx")
print(Vendas)
## # A tibble: 113,202 × 5
## vendedor dias venda_diaria ano mes
## <dbl> <chr> <dbl> <dbl> <dbl>
## 1 101101 2017-1-1 372. 2017 1
## 2 101101 2017-1-1 139. 2017 1
## 3 101101 2017-1-1 354. 2017 1
## 4 101101 2017-1-1 241. 2017 1
## 5 101101 2017-1-1 123. 2017 1
## 6 101101 2017-1-1 165. 2017 1
## 7 101101 2017-1-1 253. 2017 1
## 8 101101 2017-1-1 393. 2017 1
## 9 101101 2017-1-1 304. 2017 1
## 10 101101 2017-1-1 255. 2017 1
## # ℹ 113,192 more rows
library(readxl)
Salario_base <- read_excel("Salario_base.xlsx")
print(Salario_base)
## # A tibble: 22 × 7
## `Número de Inscrição` Nome Sobrenome Setor Cargo Contrato
## <dbl> <chr> <chr> <chr> <chr> <dttm>
## 1 101101 Nome1 Sobrenome1 Operação Operad… 2017-01-01 00:00:00
## 2 101102 Nome2 Sobrenome2 Operação Operad… 2017-01-02 00:00:00
## 3 101103 Nome3 Sobrenome3 Operação Operad… 2017-08-01 00:00:00
## 4 101104 Nome4 Sobrenome4 Operação Operad… 2018-10-01 00:00:00
## 5 101105 Nome5 Sobrenome5 Operação Operad… 2018-10-01 00:00:00
## 6 101106 Nome6 Sobrenome6 Operação Operad… 2018-10-01 00:00:00
## 7 101107 Nome7 Sobrenome7 Operação Operad… 2019-03-01 00:00:00
## 8 101108 Nome8 Sobrenome8 Operação Operad… 2019-03-01 00:00:00
## 9 101109 Nome9 Sobrenome9 Operação Operad… 2021-05-01 00:00:00
## 10 101110 Nome10 Sobrenome10 Operação Operad… 2021-05-01 00:00:00
## # ℹ 12 more rows
## # ℹ 1 more variable: Salario_base <dbl>
vendas_totais_mes <- Vendas %>%
group_by(ano, mes) %>%
summarise(vendas_totais_mes = sum(venda_diaria)) %>%
arrange(ano, mes)
## `summarise()` has grouped output by 'ano'. You can override using the `.groups`
## argument.
comissoes_totais_mes <- vendas_totais_mes[,3] * 0.05 # 5% Sobre as Vendas Realizadas
encargos_totais_mes <- vendas_totais_mes[,3] * 0.28 # INSS Do Colaborador 20% + FGTS 8% = 28% De Encargos
gastos_totais_mes <- encargos_totais_mes + comissoes_totais_mes
ts_comissoes_mes <- ts(comissoes_totais_mes, start = c(2017,1),
frequency = 12)
plot(ts_comissoes_mes)
forecast(ts_comissoes_mes, 12,10)
## Point Forecast Lo 10 Hi 10
## Apr 2023 29679.13 29362.63 29995.62
## May 2023 33757.28 33321.96 34192.60
## Jun 2023 31327.49 30799.45 31855.54
## Jul 2023 27859.17 27252.40 28465.93
## Aug 2023 27269.83 26593.44 27946.22
## Sep 2023 27147.43 26407.95 27886.91
## Oct 2023 30091.89 29294.30 30889.49
## Nov 2023 33347.66 32495.90 34199.42
## Dec 2023 37603.51 36700.83 38506.19
## Jan 2024 27134.92 26184.05 28085.80
## Feb 2024 24178.12 23181.37 25174.86
## Mar 2024 27631.18 26590.58 28671.78
plot(forecast(ts_comissoes_mes, 12, 5))
# Previsão 02
ajuste <- HoltWinters(ts_comissoes_mes)
prev <- forecast(ajuste, 12 ,level = 5)
print(prev)
## Point Forecast Lo 5 Hi 5
## Apr 2023 31926.15 31736.93 32115.36
## May 2023 37741.39 37536.25 37946.53
## Jun 2023 35900.77 35680.86 36120.69
## Jul 2023 30337.39 30103.63 30571.15
## Aug 2023 29692.99 29446.16 29939.82
## Sep 2023 29346.88 29087.64 29606.12
## Oct 2023 33416.43 33145.34 33687.51
## Nov 2023 38523.73 38241.30 38806.17
## Dec 2023 43904.49 43611.15 44197.83
## Jan 2024 28341.71 28037.85 28645.57
## Feb 2024 25428.24 25114.21 25742.26
## Mar 2024 30521.07 30197.20 30844.95
ajuste<- HoltWinters(ts_comissoes_mes, alpha = TRUE)
prev <- forecast( ajuste, 12, level = 5)
plot(prev)
# Previsão 03
ajuste <- HoltWinters(ts_comissoes_mes, alpha = TRUE , beta = TRUE)
prev <- forecast(ajuste, 12, level =5)
plot(prev)