Projeto da Fase 3 - Análise Estatística de Dados e Visualização - Victor Hugo Prof. Adriano Projeto de Análise de Dados Programador: Victor Hugo Guedes Instituição: Centro Universitário Celso Lisboa
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(ggplot2)
library(readxl)
library(readr)
library(lubridate)
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(knitr)
library(kableExtra)
##
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
eval = FALSE
Este relatorio apresenta uma análise exploratória dos dados de vendas da empresa Bar da Dorinha. O objetivo é analisar o desempenho dos vendedores, identificar padrões de vendas e calcular a folha de pagamento referente ao mês de março de 2024.
Importamos as Planilhas do Liga: Salario Base e Vendas 2024
vendas <- read_excel("Vendas2024.xlsx")
names(vendas)
## [1] "vendedor" "dias" "venda_diaria" "ano" "mes"
salarios <- read_excel("Salario_base2024.xlsx")
names(salarios)
## [1] "Número de Inscrição" "Nome" "Sobrenome"
## [4] "Setor" "Cargo" "Contrato"
## [7] "Salario_base"
str(vendas)
## tibble [113,202 × 5] (S3: tbl_df/tbl/data.frame)
## $ vendedor : num [1:113202] 101101 101101 101101 101101 101101 ...
## $ dias : POSIXct[1:113202], format: "2018-01-01" "2018-01-01" ...
## $ venda_diaria: num [1:113202] 372 139 354 241 123 ...
## $ ano : num [1:113202] 2018 2018 2018 2018 2018 ...
## $ mes : num [1:113202] 1 1 1 1 1 1 1 1 1 1 ...
head(vendas)
## # A tibble: 6 × 5
## vendedor dias venda_diaria ano mes
## <dbl> <dttm> <dbl> <dbl> <dbl>
## 1 101101 2018-01-01 00:00:00 372. 2018 1
## 2 101101 2018-01-01 00:00:00 139. 2018 1
## 3 101101 2018-01-01 00:00:00 354. 2018 1
## 4 101101 2018-01-01 00:00:00 241. 2018 1
## 5 101101 2018-01-01 00:00:00 123. 2018 1
## 6 101101 2018-01-01 00:00:00 165. 2018 1
summary(vendas)
## vendedor dias venda_diaria ano
## Min. :101101 Min. :2018-01-01 00:00:00 Min. : 9.79 Min. :2018
## 1st Qu.:101102 1st Qu.:2020-09-19 00:00:00 1st Qu.:133.27 1st Qu.:2020
## Median :101105 Median :2022-02-03 00:00:00 Median :254.06 Median :2022
## Mean :101234 Mean :2021-11-21 03:43:43 Mean :260.38 Mean :2021
## 3rd Qu.:101108 3rd Qu.:2023-03-15 00:00:00 3rd Qu.:373.85 3rd Qu.:2023
## Max. :102112 Max. :2024-03-30 00:00:00 Max. :838.42 Max. :2024
## mes
## Min. : 1.000
## 1st Qu.: 3.000
## Median : 7.000
## Mean : 6.548
## 3rd Qu.:10.000
## Max. :12.000
vendas <- vendas %>%
mutate(
vendedor = as.factor(vendedor),
venda_diaria = as.numeric(venda_diaria)
) %>%
filter(!is.na(venda_diaria))
estatisticas_vendedor <- vendas %>%
group_by(vendedor) %>%
summarise(
Venda_Total = sum(venda_diaria),
Media_Diaria = mean(venda_diaria),
Mediana_Diaria = median(venda_diaria),
Desvio_Padrao = sd(venda_diaria),
Quantidade_Registros = n()
) %>%
arrange(desc(Venda_Total))
estatisticas_vendedor %>%
kable(digits = 2)
| vendedor | Venda_Total | Media_Diaria | Mediana_Diaria | Desvio_Padrao | Quantidade_Registros |
|---|---|---|---|---|---|
| 101102 | 4031176 | 276.03 | 268.37 | 160.76 | 14604 |
| 101101 | 3489519 | 253.93 | 249.28 | 146.27 | 13742 |
| 101103 | 3433923 | 268.72 | 264.70 | 155.34 | 12779 |
| 101105 | 2694622 | 258.63 | 250.79 | 150.14 | 10419 |
| 101104 | 2491491 | 237.44 | 232.13 | 137.85 | 10493 |
| 101108 | 2473665 | 271.47 | 265.24 | 157.04 | 9112 |
| 101106 | 2458056 | 245.88 | 240.99 | 143.15 | 9997 |
| 102111 | 2441308 | 244.67 | 240.99 | 140.90 | 9978 |
| 101107 | 2201441 | 250.28 | 243.28 | 146.59 | 8796 |
| 102112 | 1338667 | 289.50 | 282.73 | 166.85 | 4624 |
| 101109 | 1296194 | 304.06 | 297.62 | 173.87 | 4263 |
| 101110 | 1125154 | 256.01 | 252.31 | 145.72 | 4395 |
Foi observado que existem diferenças significativas entre os vendedores. Os profissionais com maiores vendas totais também tendem a apresentar maiores médias diárias, indicando desempenho consistente ao longo do período analisado.
vendas_mensais <- vendas %>%
group_by(mes) %>%
summarise(Total_Vendas = sum(venda_diaria))
vendas_mensais %>%
kable(digits = 2)
| mes | Total_Vendas |
|---|---|
| 1 | 2386425 |
| 2 | 1997638 |
| 3 | 2465693 |
| 4 | 2164830 |
| 5 | 2661291 |
| 6 | 2439277 |
| 7 | 2057659 |
| 8 | 2091707 |
| 9 | 2109516 |
| 10 | 2511229 |
| 11 | 3013742 |
| 12 | 3576212 |
vendas_mensais_vendedor <- vendas %>%
group_by(vendedor, mes) %>%
summarise(
Total_Vendas_Mensais = sum(venda_diaria),
.groups = "drop"
)
vendas_mensais_vendedor %>%
kable(digits = 2)
| vendedor | mes | Total_Vendas_Mensais |
|---|---|---|
| 101101 | 1 | 304996.55 |
| 101101 | 2 | 280841.29 |
| 101101 | 3 | 271108.23 |
| 101101 | 4 | 312580.18 |
| 101101 | 5 | 332379.50 |
| 101101 | 6 | 273624.83 |
| 101101 | 7 | 244295.36 |
| 101101 | 8 | 241060.96 |
| 101101 | 9 | 235423.53 |
| 101101 | 10 | 272452.76 |
| 101101 | 11 | 353683.41 |
| 101101 | 12 | 367072.11 |
| 101102 | 1 | 358325.87 |
| 101102 | 2 | 258428.16 |
| 101102 | 3 | 350061.41 |
| 101102 | 4 | 316714.02 |
| 101102 | 5 | 303263.64 |
| 101102 | 6 | 351696.00 |
| 101102 | 7 | 290731.31 |
| 101102 | 8 | 293787.95 |
| 101102 | 9 | 313033.75 |
| 101102 | 10 | 328450.46 |
| 101102 | 11 | 354579.10 |
| 101102 | 12 | 512104.04 |
| 101103 | 1 | 256950.60 |
| 101103 | 2 | 227085.20 |
| 101103 | 3 | 261548.28 |
| 101103 | 4 | 264556.80 |
| 101103 | 5 | 290407.44 |
| 101103 | 6 | 253482.21 |
| 101103 | 7 | 219043.61 |
| 101103 | 8 | 289967.85 |
| 101103 | 9 | 281298.37 |
| 101103 | 10 | 296370.12 |
| 101103 | 11 | 376967.19 |
| 101103 | 12 | 416245.38 |
| 101104 | 1 | 222662.16 |
| 101104 | 2 | 155017.30 |
| 101104 | 3 | 217127.72 |
| 101104 | 4 | 154917.52 |
| 101104 | 5 | 229778.76 |
| 101104 | 6 | 210482.34 |
| 101104 | 7 | 153517.12 |
| 101104 | 8 | 144273.45 |
| 101104 | 9 | 154356.88 |
| 101104 | 10 | 230839.02 |
| 101104 | 11 | 292080.27 |
| 101104 | 12 | 326438.93 |
| 101105 | 1 | 243601.59 |
| 101105 | 2 | 181129.39 |
| 101105 | 3 | 230925.68 |
| 101105 | 4 | 217487.04 |
| 101105 | 5 | 210134.02 |
| 101105 | 6 | 211313.24 |
| 101105 | 7 | 198280.47 |
| 101105 | 8 | 178660.18 |
| 101105 | 9 | 182837.38 |
| 101105 | 10 | 219010.56 |
| 101105 | 11 | 281821.85 |
| 101105 | 12 | 339420.87 |
| 101106 | 1 | 190747.81 |
| 101106 | 2 | 186249.53 |
| 101106 | 3 | 211870.26 |
| 101106 | 4 | 187609.33 |
| 101106 | 5 | 248299.20 |
| 101106 | 6 | 178133.89 |
| 101106 | 7 | 138348.33 |
| 101106 | 8 | 163860.42 |
| 101106 | 9 | 178171.05 |
| 101106 | 10 | 203824.08 |
| 101106 | 11 | 270247.30 |
| 101106 | 12 | 300695.05 |
| 101107 | 1 | 131991.95 |
| 101107 | 2 | 148701.20 |
| 101107 | 3 | 205178.07 |
| 101107 | 4 | 186903.56 |
| 101107 | 5 | 216176.32 |
| 101107 | 6 | 193094.22 |
| 101107 | 7 | 159875.93 |
| 101107 | 8 | 174730.10 |
| 101107 | 9 | 154164.84 |
| 101107 | 10 | 190023.95 |
| 101107 | 11 | 190755.82 |
| 101107 | 12 | 249844.79 |
| 101108 | 1 | 144378.98 |
| 101108 | 2 | 147176.34 |
| 101108 | 3 | 225444.00 |
| 101108 | 4 | 203459.68 |
| 101108 | 5 | 256836.88 |
| 101108 | 6 | 212237.53 |
| 101108 | 7 | 191760.85 |
| 101108 | 8 | 169119.74 |
| 101108 | 9 | 194768.33 |
| 101108 | 10 | 193896.73 |
| 101108 | 11 | 240693.66 |
| 101108 | 12 | 293892.62 |
| 101109 | 1 | 130292.65 |
| 101109 | 2 | 89180.06 |
| 101109 | 3 | 86114.55 |
| 101109 | 4 | 56328.50 |
| 101109 | 5 | 96427.52 |
| 101109 | 6 | 133369.88 |
| 101109 | 7 | 94089.19 |
| 101109 | 8 | 101625.88 |
| 101109 | 9 | 80056.90 |
| 101109 | 10 | 131671.38 |
| 101109 | 11 | 145915.46 |
| 101109 | 12 | 151122.44 |
| 101110 | 1 | 102221.04 |
| 101110 | 2 | 71676.60 |
| 101110 | 3 | 78463.27 |
| 101110 | 4 | 49210.58 |
| 101110 | 5 | 103094.09 |
| 101110 | 6 | 111804.99 |
| 101110 | 7 | 97608.66 |
| 101110 | 8 | 95514.34 |
| 101110 | 9 | 81701.94 |
| 101110 | 10 | 103513.47 |
| 101110 | 11 | 120435.98 |
| 101110 | 12 | 109909.32 |
| 102111 | 1 | 214266.61 |
| 102111 | 2 | 160480.82 |
| 102111 | 3 | 205464.53 |
| 102111 | 4 | 154996.70 |
| 102111 | 5 | 237483.46 |
| 102111 | 6 | 195677.70 |
| 102111 | 7 | 166520.44 |
| 102111 | 8 | 128257.65 |
| 102111 | 9 | 163233.04 |
| 102111 | 10 | 224139.70 |
| 102111 | 11 | 262223.83 |
| 102111 | 12 | 328563.49 |
| 102112 | 1 | 85988.78 |
| 102112 | 2 | 91672.44 |
| 102112 | 3 | 122386.60 |
| 102112 | 4 | 60065.69 |
| 102112 | 5 | 137010.19 |
| 102112 | 6 | 114360.31 |
| 102112 | 7 | 103587.34 |
| 102112 | 8 | 110848.82 |
| 102112 | 9 | 90469.73 |
| 102112 | 10 | 117036.86 |
| 102112 | 11 | 124337.65 |
| 102112 | 12 | 180902.99 |
ggplot(estatisticas_vendedor,
aes(x = reorder(vendedor, Venda_Total),
y = Venda_Total)) +
geom_col() +
coord_flip() +
labs(
title = "Venda Total por Vendedor",
x = "Vendedor",
y = "Total de Vendas"
)
ggplot(vendas_mensais,
aes(x = mes,
y = Total_Vendas,
group = 1)) +
geom_line() +
geom_point() +
labs(
title = "Tendência das Vendas Mensais",
x = "Mês",
y = "Total de Vendas"
)
ggplot(vendas_mensais_vendedor,
aes(x = mes,
y = Total_Vendas_Mensais)) +
geom_line() +
geom_point() +
facet_wrap(~ vendedor,
scales = "free_y") +
labs(
title = "Vendas Mensais por Vendedor",
x = "Mês",
y = "Total de Vendas"
)
ggplot(vendas,
aes(x = venda_diaria)) +
geom_histogram(bins = 20) +
labs(
title = "Distribuição das Vendas Diárias",
x = "Venda Diária",
y = "Frequência"
)
ggplot(vendas,
aes(x = factor(mes),
y = venda_diaria)) +
geom_boxplot() +
labs(
title = "Vendas Diárias por Mês",
x = "Mês",
y = "Venda Diária"
)
ggplot(vendas,
aes(x = vendedor,
y = venda_diaria)) +
geom_boxplot() +
labs(
title = "Distribuição das Vendas por Vendedor",
x = "Vendedor",
y = "Venda Diária"
)
vendas_marco <- vendas %>%
filter(mes == 3)
comissao_marco <- vendas_marco %>%
group_by(vendedor) %>%
summarise(
vendas_marco = sum(venda_diaria),
comissao = vendas_marco * 0.05
)
colnames(salarios)
## [1] "Número de Inscrição" "Nome" "Sobrenome"
## [4] "Setor" "Cargo" "Contrato"
## [7] "Salario_base"
comissao_marco <- vendas %>%
filter(mes == 3) %>%
group_by(vendedor) %>%
summarise(
vendas_marco = sum(venda_diaria),
comissao = vendas_marco * 0.05,
.groups = "drop"
)
salarios <- salarios %>%
rename(vendedor = Nome)
folha_pagamento <- salarios %>%
left_join(comissao_marco, by = "vendedor") %>%
mutate(
comissao = ifelse(is.na(comissao), 0, comissao),
FGTS = Salario_base * 0.08,
INSS = Salario_base * 0.11,
salario_final = Salario_base + comissao - FGTS - INSS
)
kable(folha_pagamento, digits = 2)
| Número de Inscrição | vendedor | Sobrenome | Setor | Cargo | Contrato | Salario_base | vendas_marco | comissao | FGTS | INSS | salario_final |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 101101 | Nome1 | Sobrenome1 | Operação | Vendedor | 2018-01-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 101102 | Nome2 | Sobrenome2 | Operação | Vendedor | 2018-01-02 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 201101 | Nome14 | Sobrenome14 | Apoio | Aux Sev Gerais | 2018-04-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 301101 | Nome18 | Sobrenome18 | Administrativo | Aux Administrativo | 2018-04-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 101103 | Nome3 | Sobrenome3 | Operação | Vendedor | 2018-08-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 101104 | Nome4 | Sobrenome4 | Operação | Vendedor | 2019-10-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 101105 | Nome5 | Sobrenome5 | Operação | Vendedor | 2019-10-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 101106 | Nome6 | Sobrenome6 | Operação | Vendedor | 2019-10-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 102111 | Nome11 | Sobrenome11 | Operação | Supervisor | 2019-10-01 | 2500 | NA | 0 | 200 | 275 | 2025 |
| 201102 | Nome15 | Sobrenome15 | Apoio | Aux Sev Gerais | 2019-10-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 301102 | Nome19 | Sobrenome19 | Administrativo | Aux Administrativo | 2019-10-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 301103 | Nome20 | Sobrenome20 | Administrativo | Aux Administrativo | 2019-10-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 302104 | Nome 21 | Sobrenome 21 | Administrativo | Supervisor | 2019-10-01 | 3000 | NA | 0 | 240 | 330 | 2430 |
| 303105 | Nome 22 | Sobrenome 22 | Administrativo | Gerente | 2019-10-01 | 4000 | NA | 0 | 320 | 440 | 3240 |
| 101107 | Nome7 | Sobrenome7 | Operação | Vendedor | 2020-03-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 101108 | Nome8 | Sobrenome8 | Operação | Vendedor | 2020-03-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 201103 | Nome16 | Sobrenome16 | Apoio | Aux Sev Gerais | 2020-03-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 202104 | Nome17 | Sobrenome17 | Apoio | Supervisor | 2020-03-01 | 2500 | NA | 0 | 200 | 275 | 2025 |
| 101109 | Nome9 | Sobrenome9 | Operação | Vendedor | 2022-05-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 101110 | Nome10 | Sobrenome10 | Operação | Vendedor | 2022-05-01 | 2000 | NA | 0 | 160 | 220 | 1620 |
| 102112 | Nome12 | Sobrenome12 | Operação | Supervisor | 2022-05-01 | 2500 | NA | 0 | 200 | 275 | 2025 |
| 103113 | Nome13 | Sobrenome13 | Operação | Gerente | 2022-05-01 | 4000 | NA | 0 | 320 | 440 | 3240 |
A análise exploratória permitiu identificar diferenças de desempenho entre vendedores, padrões de vendas ao longo dos meses e a distribuição dos valores vendidos diariamente. Os gráficos auxiliaram na visualização dos resultados, enquanto o cálculo da folha de pagamento demonstrou a aplicação prática da análise de dados na gestão empresarial.