1 Introdução

O comércio eletrônico tem crescido rapidamente nos últimos anos, especialmente em mercados emergentes como o Paquistão. O conjunto de dados de transações de comércio eletrônico de varejo, que abrange um período de dois anos e meio, é uma rica fonte de informações que pode oferecer insights valiosos sobre padrões de compra, comportamento do consumidor e tendências de mercado. Com meio milhão de registros, este banco de dados oferece uma oportunidade única para analisar a evolução das transações online e ajudar comerciantes a otimizar suas operações, melhorar a experiência do cliente e aumentar a competitividade no setor.

1.1 Declaração do Problema: Contextualizando a Necessidade de Análise de Dados

Embora o comércio eletrônico no Paquistão tenha mostrado crescimento substancial, comerciantes e pesquisadores ainda enfrentam desafios em identificar padrões precisos e previsões de comportamento do consumidor. O volume de dados pode ser avassalador e muitas vezes não é totalmente aproveitado devido à falta de análises aprofundadas. Compreender quais fatores influenciam as vendas, os horários de pico de transações e a taxa de recompra são questões críticas que, quando respondidas, podem levar a melhorias estratégicas. Este estudo busca abordar essas questões, fornecendo uma análise detalhada do conjunto de dados para extrair insights significativos.

1.2 Metodologia e Dados: Abordagem para a Solução

Para abordar esses desafios, a análise será conduzida utilizando o maior conjunto de dados de pedidos de comércio eletrônico de varejo do Paquistão. Este conjunto de dados cobre transações entre março de 2016 e agosto de 2018, abrangendo meio milhão de registros de pedidos realizados em diferentes plataformas de comércio eletrônico. A metodologia incluirá a limpeza dos dados, a identificação de variáveis-chave (como valor de compra, tempo de transação, frequência de pedidos, entre outros) e a aplicação de técnicas de análise estatística e modelos preditivos para encontrar padrões e tendências relevantes. Ferramentas de visualização de dados serão utilizadas para facilitar a interpretação e a comunicação dos resultados.

1.3 Técnica Proposta

A técnica central adotada para a análise será uma combinação de análise descritiva e preditiva. A análise descritiva examinará os padrões históricos nos dados, como a distribuição das vendas ao longo do tempo, o comportamento do cliente em diferentes épocas do ano e o desempenho de diferentes comerciantes. Para abordar a previsibilidade do comportamento do consumidor, será usada a modelagem preditiva, empregando algoritmos de aprendizado de máquina para prever as vendas futuras, identificar clientes de alto valor e antecipar tendências de mercado. Esta abordagem equilibrada permitirá tanto uma compreensão clara do cenário atual quanto insights para planejamento estratégico futuro.

1.4 Impacto e Benefícios

A análise proposta terá um impacto direto nos comerciantes e empresas que operam no setor de comércio eletrônico no Paquistão. A partir dos insights gerados, será possível melhorar a experiência do consumidor, personalizando ofertas e campanhas de marketing de acordo com o comportamento e as preferências dos clientes. Além disso, os comerciantes poderão ajustar suas operações logísticas para se preparar para períodos de alta demanda, otimizando estoques e recursos. As empresas poderão usar esses dados para melhorar a retenção de clientes, aumentar as vendas e, finalmente, tornar suas operações mais eficientes e lucrativas em um mercado competitivo.

2 Pacotes utilizados

library(knitr)        # Pacote para gerar relatórios dinâmicos
library(dplyr)        # Fornece funções para manipulação de dados de forma eficiente
library(DT)           # Criar tabelas interativas
library(kableExtra)   # Extende o pacote knitr para formatar tabelas
library(reshape2)     # Ferramentas para transformar e reorganizar dados, especialmente 
                      # útil para conversão entre formatos longos e largos
library(janitor)      # Facilita a limpeza de dados, incluindo a padronização de nomes
                      # de colunas e a remoção de dados duplicados ou faltantes
library(lubridate)    # Simplifica o trabalho com datas e horas em R
library(stringr)      # Fornece funções para manipulação de strings
library(ggplot2)      # Visualização dos gráficos
library(tidyverse)    # Conjunto de pacotes que oferece manipulação e visualização 
library(plotly)       # Permite criar gráficos interativos a partir de ggplot2
library(ggpubr)       # Extensão de ggplot2 que simplifica a criação de gráficos
library(gt)           # Fornece uma interface fácil para criar tabelas de alta qualidade
                      # para relatórios e apresentações, com grande personalização
library(paletteer)    # Oferece uma ampla gama de paletas de cores personalizadas



3 Preparação dos dados


3.1 Conhecendo a base


A origem dessa base de dados se encontra no site Kaggle, mais especificadamente nesse Link. É uma base de dados voltada para o estudo de do modelo de negócio que mais cresce no mundo todo, o E-commerce. A única pontualidade é que essa base de dados diz respeito ao Paquistão, porém se abstrairmos esse ponto e focarmos em utilizar essa base dados como ferramenta de estudo, com certeza tiraremos frutos desse estudo.

Abaixo temos a visualização de uma amostra de 15 registros dessa base para ilustrar.

# Carrega o dataframe a partir de um arquivo CSV
ecommerce_data <- read.csv(file="C:/Users/Acer/Downloads/PakistanLargestEcommerceDataset/Pakistan_Largest_Ecommerce_Dataset.csv", sep=",")

# Cria uma tabela com as primeiras 15 linhas do dataframe, definindo os nomes das colunas
kable(head(ecommerce_data, 15), col.names = c("ID_Item", "Status", "Data", "SKU", "Preço", 
                                               "qtd_pedida", "Total_Final", "Incremento_ID", 
                                               "Categoria", "Código_comissão", "Montante_desconto", 
                                               "Método_Pagamento", "Data_trabalho", "BI_Status", 
                                               "MV", "Ano", "mês", "Cliente_desde", "M.Y", "FY", 
                                               "ID_cliente", "X", "X_1", "X_2", "X_3", "X_4")) %>%
  # Aplica estilos à tabela
  kable_styling(full_width = F, # A tabela não ocupa a largura total do container
                bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  # Adiciona barras de rolagem horizontal e vertical à tabela
  scroll_box(width = "100%", # Largura da tabela é 100% do container pai
             height = "500px") # Altura fixa de 500 pixels
ID_Item Status Data SKU Preço qtd_pedida Total_Final Incremento_ID Categoria Código_comissão Montante_desconto Método_Pagamento Data_trabalho BI_Status MV Ano mês Cliente_desde M.Y FY ID_cliente X X_1 X_2 X_3 X_4
211131 complete 7/1/2016 kreations_YI 06-L 1950 1 1950 100147443 Women’s Fashion 0 cod 7/1/2016 #REF! 1,950 2016 7 2016-7 7-2016 FY17 1 NA NA NA NA NA
211133 canceled 7/1/2016 kcc_Buy 2 Frey Air Freshener & Get 1 Kasual Body Spray Free 240 1 240 100147444 Beauty & Grooming 0 cod 7/1/2016 Gross 240 2016 7 2016-7 7-2016 FY17 2 NA NA NA NA NA
211134 canceled 7/1/2016 Ego_UP0017-999-MR0 2450 1 2450 100147445 Women’s Fashion 0 cod 7/1/2016 Gross 2,450 2016 7 2016-7 7-2016 FY17 3 NA NA NA NA NA
211135 complete 7/1/2016 kcc_krone deal 360 1 60 100147446 Beauty & Grooming R-FSD-52352 300 cod 7/1/2016 Net 360 2016 7 2016-7 7-2016 FY17 4 NA NA NA NA NA
211136 order_refunded 7/1/2016 BK7010400AG 555 2 1110 100147447 Soghaat 0 cod 7/1/2016 Valid 1,110 2016 7 2016-7 7-2016 FY17 5 NA NA NA NA NA
211137 canceled 7/1/2016 UK_Namkino All In One 200 Gms 80 1 80 100147448 Soghaat 0 cod 7/1/2016 Gross 80 2016 7 2016-7 7-2016 FY17 6 NA NA NA NA NA
211138 complete 7/1/2016 kcc_krone deal 360 1 60 100147449 Beauty & Grooming 300 cod 7/1/2016 Net 360 2016 7 2016-7 7-2016 FY17 7 NA NA NA NA NA
211139 complete 7/1/2016 UK_Namkino Mix Nimco 400 Gms 170 1 170 100147450 Soghaat 0 cod 7/1/2016 Net 170 2016 7 2016-7 7-2016 FY17 6 NA NA NA NA NA
211140 canceled 7/1/2016 Apple iPhone 6S 64GB 96499 1 96499 100147451 Mobiles & Tablets 0 ublcreditcard 7/1/2016 Gross 96,499 2016 7 2016-7 7-2016 FY17 8 NA NA NA NA NA
211141 canceled 7/1/2016 Apple iPhone 6S 64GB 96499 1 96499 100147452 Mobiles & Tablets 0 mygateway 7/1/2016 Gross 96,499 2016 7 2016-7 7-2016 FY17 8 NA NA NA NA NA
211142 complete 7/1/2016 GFC_Pedestal Myga Cross Base (Special Guard) 24” 5500 1 5500 100147453 Appliances 0 cod 7/1/2016 Net 5,500 2016 7 2016-7 7-2016 FY17 9 NA NA NA NA NA
211143 received 7/1/2016 BK1070200PL 210 1 366 100147454 Soghaat 0 cod 7/1/2016 Valid 210 2016 7 2016-7 7-2016 FY17 10 NA NA NA NA NA
211144 received 7/1/2016 BK1130200CF 156 1 366 100147454 Soghaat 0 cod 7/1/2016 Valid 156 2016 7 2016-7 7-2016 FY17 10 NA NA NA NA NA
211145 complete 7/1/2016 kcc_Sultanat 120 1 120 100147455 Home & Living 105259 0 ublcreditcard 7/1/2016 Net 120 2016 7 2016-7 7-2016 FY17 11 NA NA NA NA NA
211146 complete 7/1/2016 kcc_glamour deal 320 1 0 100147456 Beauty & Grooming 0 customercredit 7/1/2016 Net 320 2016 7 2016-7 7-2016 FY17 12 NA NA NA NA NA


Porém a tabela desse projeto possui linhas 1048575 e 26 colunas e foram extraidas de um arquivo.csv.

3.2 Metadados

A seguir estão os metadados da tabela, que fornecem informações adicionais sobre cada coluna para ajudar na compreensão dos dados.

# Criar o dataset do metadado
metadado <- data.frame(
  `Nome do Campo` = c(
    "item_id", "status", "created_at", "sku", "price", 
    "qty_ordered", "grand_total", "increment_id", "category_name_1", 
    "sales_commission_code", "discount_amount", "payment_method", 
    "Working.Date", "BI.Status", "MV", "Year", "Month", 
    "Customer.Since", "M.Y", "FY", "Customer.ID", "X", "X.1", "X.2", 
    "X.3", "X.4"
  ),
  `Tipo de Dado` = c(
    "int", "chr", "chr", "chr", "dbl", 
    "int", "dbl", "chr", "chr", 
    "chr", "dbl", "chr", 
    "chr", "chr", "chr", "int", "int", 
    "chr", "chr", "chr", "chr", "lgl", "lgl", "lgl", 
    "lgl", "lgl"
  ),
  `Descrição` = c(
    "Identificação única do item.", "Status atual do item.", "Data de criação do item.", 
    "Unidade de Manutenção de Estoque (SKU).", "Preço do item.", 
    "Quantidade do item solicitado.", "Total geral da transação.", 
    "Identificação incremental da transação.", "Nome da primeira categoria do item.", 
    "Código de comissão de vendas.", "Valor do desconto aplicado.", 
    "Método de pagamento utilizado.", "Data de trabalho do item.", 
    "Status da Integração de Business Intelligence.", "Valor do Movimento.", 
    "Ano da transação.", "Mês da transação.", 
    "Data desde quando o cliente é registrado.", "Mês e Ano da transação.", 
    "Ano Fiscal.", "Identificação do cliente.", 
    "Campo lógico de controle X.", "Campo lógico de controle X.1.", 
    "Campo lógico de controle X.2.", "Campo lógico de controle X.3.", 
    "Campo lógico de controle X.4."
  ),
  stringsAsFactors = FALSE
)

# Gerar a tabela formatada com kableExtra
metadado %>%
  kable("html", align = "l", col.names = c("Nome do Campo", "Tipo de Dado", "Descrição")) %>%
  kable_styling("striped", full_width = F) %>%
  scroll_box(width = "100%", height = "400px")
Nome do Campo Tipo de Dado Descrição
item_id int Identificação única do item.
status chr Status atual do item.
created_at chr Data de criação do item.
sku chr Unidade de Manutenção de Estoque (SKU).
price dbl Preço do item.
qty_ordered int Quantidade do item solicitado.
grand_total dbl Total geral da transação.
increment_id chr Identificação incremental da transação.
category_name_1 chr Nome da primeira categoria do item.
sales_commission_code chr Código de comissão de vendas.
discount_amount dbl Valor do desconto aplicado.
payment_method chr Método de pagamento utilizado.
Working.Date chr Data de trabalho do item.
BI.Status chr Status da Integração de Business Intelligence.
MV chr Valor do Movimento.
Year int Ano da transação.
Month int Mês da transação.
Customer.Since chr Data desde quando o cliente é registrado.
M.Y chr Mês e Ano da transação.
FY chr Ano Fiscal.
Customer.ID chr Identificação do cliente.
X lgl Campo lógico de controle X.
X.1 lgl Campo lógico de controle X.1.
X.2 lgl Campo lógico de controle X.2.
X.3 lgl Campo lógico de controle X.3.
X.4 lgl Campo lógico de controle X.4.


3.3 Tratamento dos dados


3.3.1 Colunas de dados descartáveis


Primeiramente, Vamos verificar quais colunas contêm dados nulos ou ausentes para que possamos tratá-los posteriormente.

# Carrega o dataframe a partir de um arquivo CSV
ecommerce_data <- read.csv(file = "C:/Users/Acer/Downloads/PakistanLargestEcommerceDataset/Pakistan_Largest_Ecommerce_Dataset.csv", sep = ",")

# Define os nomes das colunas que serão removidas
columns_to_remove <- c("X", "X.1", "X.2", "X.3", "X.4")  

# Função para remover colunas do dataframe
remove_columns <- function(data, columns_to_remove) {
  # Filtra o dataframe removendo as colunas especificadas
  data <- data[, !names(data) %in% columns_to_remove]
  return(data) # Retorna o dataframe modificado
}

# Aplica a função para remover as colunas indesejadas do dataframe
ecommerce_data <- remove_columns(ecommerce_data, columns_to_remove)

# Cria uma tabela com as primeiras 15 linhas do dataframe, definindo os nomes das colunas
kable(head(ecommerce_data, 15), col.names = c("ID_Item", "Status", "Data", "SKU", "Preço", 
                                             "qtd_pedida", "Total_Final", "Incremento_ID", 
                                             "Categoria", "Código_comissão", "Montante_desconto", 
                                             "Método_Pagamento", "Data_trabalho", "BI_Status", 
                                             "MV", "Ano", "mês", "Cliente_desde", "M.Y", "FY", "ID_cliente")) %>%
  # Aplica estilos à tabela
  kable_styling(full_width = F, # A tabela não ocupa a largura total do container
                bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  # Adiciona barras de rolagem horizontal e vertical à tabela
  scroll_box(width = "100%", # Largura da tabela é 100% do container pai
             height = "500px") # Altura fixa de 500 pixels
ID_Item Status Data SKU Preço qtd_pedida Total_Final Incremento_ID Categoria Código_comissão Montante_desconto Método_Pagamento Data_trabalho BI_Status MV Ano mês Cliente_desde M.Y FY ID_cliente
211131 complete 7/1/2016 kreations_YI 06-L 1950 1 1950 100147443 Women’s Fashion 0 cod 7/1/2016 #REF! 1,950 2016 7 2016-7 7-2016 FY17 1
211133 canceled 7/1/2016 kcc_Buy 2 Frey Air Freshener & Get 1 Kasual Body Spray Free 240 1 240 100147444 Beauty & Grooming 0 cod 7/1/2016 Gross 240 2016 7 2016-7 7-2016 FY17 2
211134 canceled 7/1/2016 Ego_UP0017-999-MR0 2450 1 2450 100147445 Women’s Fashion 0 cod 7/1/2016 Gross 2,450 2016 7 2016-7 7-2016 FY17 3
211135 complete 7/1/2016 kcc_krone deal 360 1 60 100147446 Beauty & Grooming R-FSD-52352 300 cod 7/1/2016 Net 360 2016 7 2016-7 7-2016 FY17 4
211136 order_refunded 7/1/2016 BK7010400AG 555 2 1110 100147447 Soghaat 0 cod 7/1/2016 Valid 1,110 2016 7 2016-7 7-2016 FY17 5
211137 canceled 7/1/2016 UK_Namkino All In One 200 Gms 80 1 80 100147448 Soghaat 0 cod 7/1/2016 Gross 80 2016 7 2016-7 7-2016 FY17 6
211138 complete 7/1/2016 kcc_krone deal 360 1 60 100147449 Beauty & Grooming 300 cod 7/1/2016 Net 360 2016 7 2016-7 7-2016 FY17 7
211139 complete 7/1/2016 UK_Namkino Mix Nimco 400 Gms 170 1 170 100147450 Soghaat 0 cod 7/1/2016 Net 170 2016 7 2016-7 7-2016 FY17 6
211140 canceled 7/1/2016 Apple iPhone 6S 64GB 96499 1 96499 100147451 Mobiles & Tablets 0 ublcreditcard 7/1/2016 Gross 96,499 2016 7 2016-7 7-2016 FY17 8
211141 canceled 7/1/2016 Apple iPhone 6S 64GB 96499 1 96499 100147452 Mobiles & Tablets 0 mygateway 7/1/2016 Gross 96,499 2016 7 2016-7 7-2016 FY17 8
211142 complete 7/1/2016 GFC_Pedestal Myga Cross Base (Special Guard) 24” 5500 1 5500 100147453 Appliances 0 cod 7/1/2016 Net 5,500 2016 7 2016-7 7-2016 FY17 9
211143 received 7/1/2016 BK1070200PL 210 1 366 100147454 Soghaat 0 cod 7/1/2016 Valid 210 2016 7 2016-7 7-2016 FY17 10
211144 received 7/1/2016 BK1130200CF 156 1 366 100147454 Soghaat 0 cod 7/1/2016 Valid 156 2016 7 2016-7 7-2016 FY17 10
211145 complete 7/1/2016 kcc_Sultanat 120 1 120 100147455 Home & Living 105259 0 ublcreditcard 7/1/2016 Net 120 2016 7 2016-7 7-2016 FY17 11
211146 complete 7/1/2016 kcc_glamour deal 320 1 0 100147456 Beauty & Grooming 0 customercredit 7/1/2016 Net 320 2016 7 2016-7 7-2016 FY17 12


3.3.2 Alterar os dados nulos para NA


Agora vamos alterar os campos nulos para NAs.

É valido salientar que foi percebido que nesse dataset já possuia um termo para identificar que aquela célula de dado está nula, porém como forma de seguir o padrâo, colocarei todos os dados nulos para NA.

# Substituir strings vazias e "NULL" por NA em todo o data.frame
ecommerce_data[ecommerce_data == "\\N" | ecommerce_data == "NULL"] <- NA

# Verifique as primeiras linhas para confirmar
kable(head(ecommerce_data,100), col.names = c("ID_Item", "Status", "Data", "SKU", "Preço", 
                                             "qtd_pedida", "Total_Final", "Incremento_ID", 
                                             "Categoria", "Código_comissão", "Montante_desconto", 
                                             "Método_Pagamento", "Data_trabalho", "BI_Status", 
                                             "MV", "Ano", "mês", "Cliente_desde", "M.Y", "FY","ID_cliente")) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped","hover","condensed","responsive")) %>%
  scroll_box(width = "100%", height = "500px")
ID_Item Status Data SKU Preço qtd_pedida Total_Final Incremento_ID Categoria Código_comissão Montante_desconto Método_Pagamento Data_trabalho BI_Status MV Ano mês Cliente_desde M.Y FY ID_cliente
211131 complete 7/1/2016 kreations_YI 06-L 1950.00 1 1950.00 100147443 Women’s Fashion NA 0.00 cod 7/1/2016 #REF! 1,950 2016 7 2016-7 7-2016 FY17 1
211133 canceled 7/1/2016 kcc_Buy 2 Frey Air Freshener & Get 1 Kasual Body Spray Free 240.00 1 240.00 100147444 Beauty & Grooming NA 0.00 cod 7/1/2016 Gross 240 2016 7 2016-7 7-2016 FY17 2
211134 canceled 7/1/2016 Ego_UP0017-999-MR0 2450.00 1 2450.00 100147445 Women’s Fashion NA 0.00 cod 7/1/2016 Gross 2,450 2016 7 2016-7 7-2016 FY17 3
211135 complete 7/1/2016 kcc_krone deal 360.00 1 60.00 100147446 Beauty & Grooming R-FSD-52352 300.00 cod 7/1/2016 Net 360 2016 7 2016-7 7-2016 FY17 4
211136 order_refunded 7/1/2016 BK7010400AG 555.00 2 1110.00 100147447 Soghaat NA 0.00 cod 7/1/2016 Valid 1,110 2016 7 2016-7 7-2016 FY17 5
211137 canceled 7/1/2016 UK_Namkino All In One 200 Gms 80.00 1 80.00 100147448 Soghaat NA 0.00 cod 7/1/2016 Gross 80 2016 7 2016-7 7-2016 FY17 6
211138 complete 7/1/2016 kcc_krone deal 360.00 1 60.00 100147449 Beauty & Grooming NA 300.00 cod 7/1/2016 Net 360 2016 7 2016-7 7-2016 FY17 7
211139 complete 7/1/2016 UK_Namkino Mix Nimco 400 Gms 170.00 1 170.00 100147450 Soghaat NA 0.00 cod 7/1/2016 Net 170 2016 7 2016-7 7-2016 FY17 6
211140 canceled 7/1/2016 Apple iPhone 6S 64GB 96499.00 1 96499.00 100147451 Mobiles & Tablets NA 0.00 ublcreditcard 7/1/2016 Gross 96,499 2016 7 2016-7 7-2016 FY17 8
211141 canceled 7/1/2016 Apple iPhone 6S 64GB 96499.00 1 96499.00 100147452 Mobiles & Tablets NA 0.00 mygateway 7/1/2016 Gross 96,499 2016 7 2016-7 7-2016 FY17 8
211142 complete 7/1/2016 GFC_Pedestal Myga Cross Base (Special Guard) 24” 5500.00 1 5500.00 100147453 Appliances NA 0.00 cod 7/1/2016 Net 5,500 2016 7 2016-7 7-2016 FY17 9
211143 received 7/1/2016 BK1070200PL 210.00 1 366.00 100147454 Soghaat NA 0.00 cod 7/1/2016 Valid 210 2016 7 2016-7 7-2016 FY17 10
211144 received 7/1/2016 BK1130200CF 156.00 1 366.00 100147454 Soghaat NA 0.00 cod 7/1/2016 Valid 156 2016 7 2016-7 7-2016 FY17 10
211145 complete 7/1/2016 kcc_Sultanat 120.00 1 120.00 100147455 Home & Living 105259 0.00 ublcreditcard 7/1/2016 Net 120 2016 7 2016-7 7-2016 FY17 11
211146 complete 7/1/2016 kcc_glamour deal 320.00 1 0.00 100147456 Beauty & Grooming NA 0.00 customercredit 7/1/2016 Net 320 2016 7 2016-7 7-2016 FY17 12
211147 canceled 7/1/2016 Assetmen_MD-346-M 1550.00 1 1550.00 100147457 Men’s Fashion 105259 0.00 ublcreditcard 7/1/2016 Gross 1,550 2016 7 2016-7 7-2016 FY17 11
211149 complete 7/1/2016 cr_DATES WITH CASHEW-400 GM 420.00 1 1270.00 100147458 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 420 2016 7 2016-7 7-2016 FY17 13
211150 complete 7/1/2016 UK_Gift Box Mix Dry Fruit Sweets 500 Gms 360.00 1 1270.00 100147458 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 360 2016 7 2016-7 7-2016 FY17 13
211151 complete 7/1/2016 itter_AB 1199 490.00 1 1270.00 100147458 Beauty & Grooming R-KHW-104406 0.00 cod 7/1/2016 Net 490 2016 7 2016-7 7-2016 FY17 13
211152 canceled 7/1/2016 RL_B005 899.25 1 2118.25 100147459 Home & Living NA 0.00 cod 7/1/2016 Gross 899 2016 7 2016-7 7-2016 FY17 14
211153 canceled 7/1/2016 bed&rest_S7 899.00 1 2118.25 100147459 Home & Living NA 0.00 cod 7/1/2016 Gross 899 2016 7 2016-7 7-2016 FY17 14
211154 canceled 7/1/2016 L&L_LLHLE8224S 320.00 1 2118.25 100147459 Home & Living NA 0.00 cod 7/1/2016 Gross 320 2016 7 2016-7 7-2016 FY17 14
211155 complete 7/1/2016 J&J_JJR-4 149.00 1 298.00 100147460 Kids & Baby NA 0.00 cod 7/1/2016 Net 149 2016 7 2016-7 7-2016 FY17 15
211156 complete 7/1/2016 J&J_JJR-20 149.00 1 298.00 100147460 Kids & Baby NA 0.00 cod 7/1/2016 Net 149 2016 7 2016-7 7-2016 FY17 15
211157 order_refunded 7/1/2016 D Lend a Helping Hand 1000.00 1 0.00 100147461 NA NA 0.00 customercredit 7/1/2016 Valid 1,000 2016 7 2016-7 7-2016 FY17 16
211158 order_refunded 7/1/2016 Mochika_M0001112-12 1913.00 1 3826.00 100147462 Men’s Fashion NA 0.00 cod 7/1/2016 Valid 1,913 2016 7 2016-7 7-2016 FY17 17
211160 order_refunded 7/1/2016 Mochika_M0001112-8 1913.00 1 3826.00 100147462 Men’s Fashion NA 0.00 cod 7/1/2016 Valid 1,913 2016 7 2016-7 7-2016 FY17 17
211162 complete 7/1/2016 SKMT_Blood Test 500.00 1 0.00 100147463 Others NA 0.00 customercredit 7/1/2016 Net 500 2016 7 2016-7 7-2016 FY17 16
211163 complete 7/1/2016 SKMT_Medicine 100.00 5 0.00 100147463 Others NA 0.00 customercredit 7/1/2016 Net 500 2016 7 2016-7 7-2016 FY17 16
211164 canceled 7/1/2016 sputnik_701/5-11 1500.00 2 3000.00 100147464 Men’s Fashion NA 0.00 cod 7/1/2016 Gross 3,000 2016 7 2016-7 7-2016 FY17 18
211166 complete 7/1/2016 Ctees-Black Zip- Up Hoodie-XL 450.00 1 450.00 100147465 Kids & Baby NA 0.00 cod 7/1/2016 Net 450 2016 7 2016-7 7-2016 FY17 19
211168 complete 7/1/2016 Samsung Galaxy J5 20999.00 1 20999.00 100147466 Mobiles & Tablets R-FSD-58130 0.00 cod 7/1/2016 Net 20,999 2016 7 2016-7 7-2016 FY17 20
211169 complete 7/1/2016 kcc_krone deal 360.00 1 360.00 100147467 Beauty & Grooming R-FSD-58130 0.00 cod 7/1/2016 Net 360 2016 7 2016-7 7-2016 FY17 20
211170 refund 7/1/2016 Veet_4 165.00 1 300.00 100147468 Beauty & Grooming NA 82.50 cod 7/1/2016 Valid 165 2016 7 2016-7 7-2016 FY17 21
211171 refund 7/1/2016 RS_Gulab jaman Tin 435.00 1 300.00 100147468 Soghaat NA 217.50 cod 7/1/2016 Valid 435 2016 7 2016-7 7-2016 FY17 21
211172 canceled 7/1/2016 cr_PEANUT SALTY-200 GM 90.00 1 940.00 100147469 Soghaat NA 0.00 cod 7/1/2016 Gross 90 2016 7 2016-7 7-2016 FY17 22
211173 canceled 7/1/2016 Oriflame_21557 850.00 1 940.00 100147469 Beauty & Grooming NA 0.00 cod 7/1/2016 Gross 850 2016 7 2016-7 7-2016 FY17 22
211174 complete 7/1/2016 JBS_TAT-128 3672.00 1 3672.00 100147470 Home & Living NA 0.00 cod 7/1/2016 Net 3,672 2016 7 2016-7 7-2016 FY17 23
211175 complete 7/1/2016 cr_PEANUT SALTY-200 GM 90.00 1 740.00 100147471 Soghaat NA 19.15 cod 7/1/2016 Net 90 2016 7 2016-7 7-2016 FY17 22
211176 complete 7/1/2016 Oriflame_21557 850.00 1 740.00 100147471 Beauty & Grooming NA 180.85 cod 7/1/2016 Net 850 2016 7 2016-7 7-2016 FY17 22
211177 order_refunded 7/1/2016 Ajmery_BRR-590-M 899.00 1 899.00 100147472 Men’s Fashion NA 0.00 cod 7/1/2016 Valid 899 2016 7 2016-7 7-2016 FY17 24
211179 canceled 7/1/2016 HOS_GUCFW75 7400.00 1 11000.00 100147473 Beauty & Grooming NA 0.00 mygateway 7/1/2016 Gross 7,400 2016 7 2016-7 7-2016 FY17 25
211180 canceled 7/1/2016 Lexon_LL116B-Blue 3600.00 1 11000.00 100147473 Mobiles & Tablets NA 0.00 mygateway 7/1/2016 Gross 3,600 2016 7 2016-7 7-2016 FY17 25
211182 complete 7/1/2016 kcc_Fantasy Perfumed Talcum Powder-200gm 143.00 1 168.00 100147474 Beauty & Grooming NA 77.72 cod 7/1/2016 Net 143 2016 7 2016-7 7-2016 FY17 22
211184 complete 7/1/2016 2Zee_SC6 225.00 1 168.00 100147474 Beauty & Grooming NA 122.28 cod 7/1/2016 Net 225 2016 7 2016-7 7-2016 FY17 22
211185 complete 7/1/2016 Q MOBILE Noir X20 4500.00 1 4500.00 100147475 Mobiles & Tablets NA 0.00 cod 7/1/2016 Net 4,500 2016 7 2016-7 7-2016 FY17 26
211186 canceled 7/1/2016 rehaab_RJ160047 3156.00 1 6152.00 100147476 Women’s Fashion NA 0.00 cod 7/1/2016 Gross 3,156 2016 7 2016-7 7-2016 FY17 27
211187 canceled 7/1/2016 Farah_3-B 2996.00 1 6152.00 100147476 Women’s Fashion NA 0.00 cod 7/1/2016 Gross 2,996 2016 7 2016-7 7-2016 FY17 27
211188 canceled 7/1/2016 RS_Sohan Halwa Tin 300.00 2 2210.00 100147477 Soghaat NA 0.00 cod 7/1/2016 Gross 600 2016 7 2016-7 7-2016 FY17 28
211189 canceled 7/1/2016 UK_Soan Papdi Original 250 Gms 150.00 2 2210.00 100147477 Soghaat NA 0.00 cod 7/1/2016 Gross 300 2016 7 2016-7 7-2016 FY17 28
211190 canceled 7/1/2016 UK_Gift Box Soghaat 500 Gms 465.00 2 2210.00 100147477 Soghaat NA 0.00 cod 7/1/2016 Gross 930 2016 7 2016-7 7-2016 FY17 28
211191 canceled 7/1/2016 RS_Double Delight 380.00 1 2210.00 100147477 Soghaat NA 0.00 cod 7/1/2016 Gross 380 2016 7 2016-7 7-2016 FY17 28
211192 canceled 7/1/2016 Al Muhafiz Sohan Halwa Almond 350.00 1 350.00 100147478 Soghaat NA 0.00 cod 7/1/2016 Gross 350 2016 7 2016-7 7-2016 FY17 29
211193 complete 7/1/2016 UK_Gift Box Baklawa 500 Gms 425.00 1 425.00 100147479 Soghaat NA 0.00 cod 7/1/2016 Net 425 2016 7 2016-7 7-2016 FY17 30
211194 complete 7/1/2016 sputnik_2146/6-8 850.00 1 850.00 100147480 Women’s Fashion NA 0.00 cod 7/1/2016 Net 850 2016 7 2016-7 7-2016 FY17 31
211196 complete 7/1/2016 kkc_Kingtox 450ml Classic Green All Insect Killer Spray 251.00 1 251.00 100147481 Home & Living C-PEW-104656 0.00 cod 7/1/2016 Net 251 2016 7 2016-7 7-2016 FY17 32
211197 order_refunded 7/1/2016 kcc_krone deal 360.00 1 360.00 100147482 Beauty & Grooming C-Rwp-101853 0.00 cod 7/1/2016 Valid 360 2016 7 2016-7 7-2016 FY17 33
211198 complete 7/1/2016 Al Muhafiz Sohan Halwa Walnut 510.00 1 835.00 100147483 Soghaat NA 0.00 cod 7/1/2016 Net 510 2016 7 2016-7 7-2016 FY17 34
211199 complete 7/1/2016 RS_Honey Dry Fruit Halwa 325.00 1 835.00 100147483 Soghaat NA 0.00 cod 7/1/2016 Net 325 2016 7 2016-7 7-2016 FY17 34
211200 complete 7/1/2016 itter_AB 1214 300.00 1 300.00 100147484 Beauty & Grooming C-ISB-47491 0.00 cod 7/1/2016 Net 300 2016 7 2016-7 7-2016 FY17 35
211202 order_refunded 7/1/2016 Eco Star_40U557 30417.00 1 30417.00 100147486 Entertainment c-uet-44938 0.00 cod 7/1/2016 Valid 30,417 2016 7 2016-7 7-2016 FY17 36
211201 order_refunded 7/1/2016 kcc_krone deal 360.00 1 360.00 100147485 Beauty & Grooming C-RWP-103867 0.00 cod 7/1/2016 Valid 360 2016 7 2016-7 7-2016 FY17 33
211203 complete 7/1/2016 Al Muhafiz Sohan Halwa Almond 350.00 2 700.00 100147487 Soghaat NA 0.00 cod 7/1/2016 Net 700 2016 7 2016-7 7-2016 FY17 37
211204 complete 7/1/2016 Orient_OR-6057 GX LGFD LV 45250.00 1 45250.00 100147488 Appliances R-KHS-104405 0.00 cod 7/1/2016 Net 45,250 2016 7 2016-7 7-2016 FY17 38
211205 canceled 7/1/2016 HOS_JPGCW100 8100.00 3 24588.00 100147489 Beauty & Grooming 104835 0.00 cod 7/1/2016 Gross 24,300 2016 7 2016-7 7-2016 FY17 39
211206 canceled 7/1/2016 kkc_Jasmine King Air Freshener 144.00 2 24588.00 100147489 Home & Living 104835 0.00 cod 7/1/2016 Gross 288 2016 7 2016-7 7-2016 FY17 39
211207 complete 7/1/2016 asimjofaeanew_5A 5597.00 1 5597.00 100147490 Women’s Fashion R-KHS-104405 0.00 cod 7/1/2016 Net 5,597 2016 7 2016-7 7-2016 FY17 40
211208 order_refunded 7/1/2016 ajmery_F9-981 999.00 1 999.00 100147491 Men’s Fashion C-ISB-105964 0.00 cod 7/1/2016 Valid 999 2016 7 2016-7 7-2016 FY17 35
211209 refund 7/1/2016 hijabh_JILBAB-C (1)-52x 4950.00 1 4950.00 100147492 Women’s Fashion R-KHS-104405 0.00 cod 7/1/2016 Valid 4,950 2016 7 2016-7 7-2016 FY17 40
211211 order_refunded 7/1/2016 noritake_NTM163M 805.00 1 805.00 100147493 Home & Living 865116 0.00 cod 7/1/2016 Valid 805 2016 7 2016-7 7-2016 FY17 41
211212 complete 7/1/2016 kcc_krone deal 360.00 1 360.00 100147494 Beauty & Grooming C-ISB-40310 0.00 cod 7/1/2016 Net 360 2016 7 2016-7 7-2016 FY17 35
211213 order_refunded 7/1/2016 RS_Habshi Halwa Tin 280.00 1 280.00 100147495 Soghaat C-ISB-102148 0.00 cod 7/1/2016 Valid 280 2016 7 2016-7 7-2016 FY17 35
211214 canceled 7/1/2016 sentiments_WRK1612 1.00 1 1.00 100147496 NA C-RWP-102627 0.00 cod 7/1/2016 Gross 1 2016 7 2016-7 7-2016 FY17 33
211215 order_refunded 7/1/2016 bata_comfit-8613714-43-9 999.00 1 999.00 100147497 Men’s Fashion R-PEW-41424 0.00 cod 7/1/2016 Valid 999 2016 7 2016-7 7-2016 FY17 42
211217 complete 7/1/2016 kcc_krone deal 360.00 1 360.00 100147498 Beauty & Grooming C-MUX-33202 0.00 cod 7/1/2016 Net 360 2016 7 2016-7 7-2016 FY17 43
211218 order_refunded 7/1/2016 Al Muhafiz Sohan Halwa Almond 350.00 1 350.00 100147499 Soghaat C-KHS-44926 0.00 cod 7/1/2016 Valid 350 2016 7 2016-7 7-2016 FY17 44
211219 order_refunded 7/1/2016 Al Muhafiz Sohan Halwa Almond 350.00 1 350.00 100147500 Soghaat C-KHS-44926 0.00 cod 7/1/2016 Valid 350 2016 7 2016-7 7-2016 FY17 44
211220 complete 7/1/2016 UK_Namkino Mix Nimco 8 Pcs Gift Pack 760.00 1 1195.00 100147501 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 760 2016 7 2016-7 7-2016 FY17 13
211221 complete 7/1/2016 RS_Gulab jaman Tin 435.00 1 1195.00 100147501 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 435 2016 7 2016-7 7-2016 FY17 13
211222 canceled 7/1/2016 sentiments_WRK1612 1.00 5 5.00 100147502 NA C-RWP-66032 0.00 cod 7/1/2016 Gross 5 2016 7 2016-7 7-2016 FY17 33
211223 canceled 7/1/2016 sentiments_WRK1612 1.00 2 2.00 100147503 NA C-RWP-31924 0.00 cod 7/1/2016 Gross 2 2016 7 2016-7 7-2016 FY17 33
211225 canceled 7/1/2016 sentiments_WRK1612 1.00 1 1.00 100147505 NA C-RWP-102627 0.00 cod 7/1/2016 Gross 1 2016 7 2016-7 7-2016 FY17 33
211224 received 7/1/2016 kcc_krone deal 360.00 1 360.00 100147504 Beauty & Grooming C-MUX-106279 0.00 cod 7/1/2016 Valid 360 2016 7 2016-7 7-2016 FY17 43
211226 received 7/1/2016 kcc_glamour deal 320.00 1 320.00 100147506 Beauty & Grooming C-MUX-106279 0.00 cod 7/1/2016 Valid 320 2016 7 2016-7 7-2016 FY17 43
211227 complete 7/1/2016 RS_Gulab jaman Tin 435.00 1 1195.00 100147507 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 435 2016 7 2016-7 7-2016 FY17 13
211228 complete 7/1/2016 UK_Namkino Mix Nimco 8 Pcs Gift Pack 760.00 1 1195.00 100147507 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 760 2016 7 2016-7 7-2016 FY17 13
211229 received 7/1/2016 kcc_Buy 2 Frey Air Freshener & Get 1 Kasual Body Spray Free 240.00 1 240.00 100147508 Beauty & Grooming C-MUX-106279 0.00 cod 7/1/2016 Valid 240 2016 7 2016-7 7-2016 FY17 43
211230 received 7/1/2016 kcc_krone deal 360.00 1 360.00 100147509 Beauty & Grooming C-MUX-106279 0.00 cod 7/1/2016 Valid 360 2016 7 2016-7 7-2016 FY17 43
211231 order_refunded 7/1/2016 Inoxy_Inoxy Hair Miracle Elixir 1875.00 1 1875.00 100147510 Beauty & Grooming NA 0.00 cod 7/1/2016 Valid 1,875 2016 7 2016-7 7-2016 FY17 45
211232 complete 7/1/2016 UK_Namkino Mix Nimco 8 Pcs Gift Pack 760.00 1 1195.00 100147511 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 760 2016 7 2016-7 7-2016 FY17 13
211233 complete 7/1/2016 RS_Chum Chum Tin 435.00 1 1195.00 100147511 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 435 2016 7 2016-7 7-2016 FY17 13
211234 received 7/1/2016 kcc_krone deal 360.00 1 360.00 100147512 Beauty & Grooming C-MUX-43032 0.00 cod 7/1/2016 Valid 360 2016 7 2016-7 7-2016 FY17 43
211235 received 7/1/2016 kcc_krone deal 360.00 1 360.00 100147513 Beauty & Grooming C-MUX-43032 0.00 cod 7/1/2016 Valid 360 2016 7 2016-7 7-2016 FY17 43
211236 complete 7/1/2016 RS_Chum Chum Tin 435.00 1 1195.00 100147514 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 435 2016 7 2016-7 7-2016 FY17 13
211237 complete 7/1/2016 UK_Namkino Mix Nimco 8 Pcs Gift Pack 760.00 1 1195.00 100147514 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 760 2016 7 2016-7 7-2016 FY17 13
211238 received 7/1/2016 kcc_glamour deal 320.00 1 320.00 100147515 Beauty & Grooming C-MUX-106279 0.00 cod 7/1/2016 Valid 320 2016 7 2016-7 7-2016 FY17 43
211239 complete 7/1/2016 Dany_AUK-650 4200.00 1 4200.00 100147516 Mobiles & Tablets R-LHW-105666 0.00 cod 7/1/2016 Net 4,200 2016 7 2016-7 7-2016 FY17 46
211240 complete 7/1/2016 UK_Namkino Mix Nimco 8 Pcs Gift Pack 760.00 1 1195.00 100147517 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 760 2016 7 2016-7 7-2016 FY17 13
211241 complete 7/1/2016 RS_Chum Chum Tin 435.00 1 1195.00 100147517 Soghaat R-KHW-104406 0.00 cod 7/1/2016 Net 435 2016 7 2016-7 7-2016 FY17 13
211242 complete 7/1/2016 urban_ PT004-L 550.00 1 550.00 100147518 NA C-PEW-105784 0.00 cod 7/1/2016 Net 550 2016 7 2016-7 7-2016 FY17 47



4 Analises realizadas


4.1 Categorias mais ventidas


Agora, vamos analisar os desempenhos das categorias de produtos durante esses os anos de 2016 e 2018

# Seleciona colunas específicas do dataframe e conta o número de ocorrências por Ano, Categoria e Quantidade Pedida
  E2=select(ecommerce_data,payment_method,Year,category_name_1,status,qty_ordered) %>%
  count(Year,category_name_1,qty_ordered) %>% 
# Reclassifica os nomes das categorias para garantir consistência
  mutate(category_name_1=recode(category_name_1,"Appliances"="Appliances","Beauty & Grooming"="Beauty & Grooming","Books"="Books","Computing"="Computing","Entertainment"="Entertainment","Health & Sports"="Health & Sports","Home & Living"="Home & Living","Kids & Baby"="Kids & Baby","Men's Fashion"="Men's Fashion","Mobiles & Tablets"="Mobiles & Tablets","Others"="Others","School & Education"="School & Education",  "Soghaat"="Soghaat","Superstore"="Superstore","Women's Fashion"="Women's Fashion",
                         `\\N`="Not Available",.default = "Not Available"))%>% 
  # Calcula o total multiplicando a quantidade pedida pelo número de ocorrências
  mutate(Total = n*qty_ordered) 
  E2x=select(E2,-c(3,4)) # Remove colunas desnecessárias (por índice)
  E2total=aggregate(E2x$Total, by=list(Year=E2x$Year,Category=E2x$category_name_1), FUN=sum) # Agrega os totais por Ano e Categoria
  names(E2total)[names(E2total) == "x"] <- "Total" # Renomeia a coluna resultante para "Total"
  E2dast=dcast(E2total,Category~Year,value.var = "Total") # Transforma os dados em formato de tabela ampla (wide format) para facilitar o gráfico
  E2dast[is.na(E2dast)] = 0 # Substitui valores NA por 0
  E2dasttotal=E2dast %>% mutate(Total = rowSums(.[2:4]))%>%
  adorn_totals("row")

  # Cria um gráfico de barras mostrando o total por ano e categoria
  ggplot( E2total, aes( x = Year, y = Total,fill=Total) ) + 
  geom_bar( stat = "identity",color = "lightblue2", fill="lightblue2")  +
  geom_text(aes(label=Total), position=position_dodge(width=0.7), vjust=-0.15, color = "blue" ,size=3)+
  font("title", size = 16, color = "blue",face = "bold")+
  font("xlab", size = 12, color = "blue",face = "bold")+
  font("ylab", size = 12, color = "blue",face = "bold")+
  facet_wrap( ~ Category ,ncol=3) +  # Cria facetas para cada categoria
  labs(title = "Categorias mais vendidas nos anos", x = "Anos", y = "Nº de categorias")+
  theme( strip.text = element_text( size = 12, color = "snow1", hjust = 0.5 ,face = "bold"),axis.text.x=element_text(colour="black",size=10 ),axis.text.y=element_text(colour="black",size=7), panel.background = element_rect(fill = "snow1",colour = "snow1",size = 0.5, linetype = "solid"),strip.background =element_rect(fill="blue"))



Conclusão:

  • Conforme mostrado no gráfico, o pedido de quantidade do cliente é maior para celulares e tablets, moda masculina e feminina, outros e superloja em comparação com outros produtos.

  • Foi registrado o menor número de pedidos nas categorias: Livros, Escola e Educação e Crianças e Bebês. Para aumentar a venda de Livros e Escola e Educação, temos, por exemplo, que iniciar a venda de Volta às Aulas. Os pais de produtos para bebês preferem principalmente roupas de algodão puro para crianças menores de 2 anos. Por outro lado, brinquedos e acessórios infantis estão tendo mais demanda no mercado.

  • Na categoria outros temos mais pedidos em 2018 que é de 76.982(o maior entre todos os anos de todas a outras categorias).

4.2 Categoria mais vendida em termos de status


A Categoria Mais Vendida em Termos de Status revela os produtos que não apenas lideram em vendas, mas também se destacam pela sua popularidade e prestígio no mercado. Esta categoria é crucial para identificar quais itens estão conquistando a preferência dos consumidores e estabelecendo tendências. Analisar esses produtos permite às empresas ajustar suas estratégias de marketing e estoque, garantindo que estejam sempre alinhadas com as demandas e expectativas do público.

# Selecionar colunas específicas do dataframe e conta o número de ocorrências por Ano, Categoria, Status e Quantidade Pedida
    c=select(ecommerce_data,payment_method,Year,category_name_1,status,qty_ordered) %>%
    count(Year,category_name_1,status,qty_ordered) %>% 
  # Reclassificar os nomes das categorias para garantir consistência
    mutate(category_name_1=recode(category_name_1,"Appliances"="Appliances","Beauty & Grooming"="Beauty & Grooming","Books"="Books","Computing"="Computing","Entertainment"="Entertainment","Health & Sports"="Health & Sports","Home & Living"="Home & Living","Kids & Baby"="Kids & Baby","Men's Fashion"="Men's Fashion","Mobiles & Tablets"="Mobiles & Tablets","Others"="Others","School & Education"="School & Education",    "Soghaat"="Soghaat","Superstore"="Superstore","Women's Fashion"="Women's Fashion",
                         `\\N`="Not Available",.default = "Not Available"))%>% 
  # Reclassificar os status dos pedidos para uma descrição mais compreensível
    mutate(status=recode(status,`\\N`="Not Available",`order_refunded`="Order Refunded",`pending_paypal`="Pending Paypal", `payment_review`="Payment Review",
   `cod`="Cash on Delivery",`cashatdoorstep`="Cash on Delivery",`canceled`="Canceled",`closed`="Closed",`complete`="Complete",
   `exchange`="Exchange",`fraud`="Fraud",`holded`="Holded",`paid`="Paid",`pending`="Pending",`processing`="Processing",
   `received`="Received",`refund`="Refund",.default = "Not Available"))%>% 
    mutate(Total = n*qty_ordered) # Calcula o total multiplicando a quantidade pedida pelo número de ocorrências
    cx=select(c,-c(4,5))  # Remove colunas desnecessárias (por índice)
    # Agrega os totais por Ano, Categoria e Status
    ctotal=aggregate(cx$Total, by=list(Year=cx$Year,Category=cx$category_name_1,Status=cx$status), FUN=sum)
    names(ctotal)[names(ctotal) == "x"] <- "Total" # Renomeia a coluna resultante para "Total"
    
  # Criar um gráfico de barras horizontais com a distribuição dos totais por Categoria e Status
  ggplot(ctotal, aes(y = Category, x = Total,fill=Status)) +
  geom_segment(aes(x = 0, y = Category, xend = Total, yend = Category), color = "snow1", size = 0.75) +
  geom_bar( stat = "identity")  +
  # Definer estilos de fonte para os títulos e rótulos dos eixos
  font("title", size = 16, color = "blue", face = "bold")+
  font("xlab", size = 12, color = "blue",face = "bold")+
  font("ylab", size = 12, color = "blue",face = "bold")+
  # Definer uma paleta de cores personalizada para os Status
  scale_fill_manual(values=c("#CD3333","#8B2252", "#00E5EE", "#FF6347","#EED2EE", "#FFA54F", "#63B8FF","#00FF7F", "#EEE9E9", "#89D3EE","#7D26CD", "#DDA0DD","#FFDAB9", "#8B475D", "#87CEEB","#FF8247"))+
  facet_wrap(~Year)+ # Cria facetas para cada Ano
  labs(title = "Categoria mais vendida em termos de status", x = "Total", y = "Nome das categorias")+
  # Personalizar o tema do gráfico
  theme( strip.text = element_text( size = 12, color = "snow1", hjust = 0.5 ,face = "bold"),axis.text.x=element_text(angle=90,colour="black",size=10 ),axis.text.y=element_text(colour="black",size=10), panel.background = element_rect(fill = "snow1",colour = "snow1",size = 0.5, linetype = "solid"),strip.background =element_rect(fill="blue"))



Conclusão:

  • As categorias Superstore, Others, e Mobile & Tablet têm um status de cancelamento elevado em comparação com outros produtos. Como mostrado na tabela, o status de cancelamento de todas as categorias é de 278.570, enquanto o status de concluído é de 278.990, então ambos são aproximadamente iguais. Lembrando que o pedido pode ser cancelado pelo administrador ou pelo cliente, e também pela falta de estoque.

Medidas para evitar o cancelamento:

  • As imagens dos produtos desempenham um papel significativo na decisão de compra online, pois é a única maneira de um comprador inspecionar um produto em detalhes.

  • Produtos fora de estoque levam a um atraso na entrega, causando, em última análise, taxas mais altas de cancelamento e abandono de carrinho.

  • É imperativo confirmar a disponibilidade do cliente para receber um pedido antes de enviar um pedido de alto valor com pagamento na entrega.

  • Processar os envios a tempo.

  • A data prevista de entrega dá ao comprador a chance de planejar o pedido.

4.3 Métodos de pagamentos mais utilizados


Os Métodos de Pagamentos Mais Utilizados refletem as preferências dos consumidores na hora de realizar transações financeiras. Nessa análise, vamos verirficar os desempenhos dos métodos de pagamentos nos e-commerces do Paquistão nos anos 2016 e 2018. Compreender quais são os métodos mais populares permite às empresas otimizarem suas operações, melhorar a experiência do cliente e se adaptar às tendências do mercado.

# Selecionar colunas específicas do dataframe e conta o número de ocorrências por Ano, Categoria, Método de Pagamento e Quantidade Pedida
E3=select(ecommerce_data,payment_method,Year,category_name_1,status,qty_ordered) %>% 
  count(Year,category_name_1,payment_method,qty_ordered) %>% 
  # Reclassificar os nomes das categorias para garantir consistência
  mutate(category_name_1=recode(category_name_1,"Appliances"="Appliances","Beauty & Grooming"="Beauty & Grooming","Books"="Books","Computing"="Computing","Entertainment"="Entertainment","Health & Sports"="Health & Sports","Home & Living"="Home & Living","Kids & Baby"="Kids & Baby","Men's Fashion"="Men's Fashion","Mobiles & Tablets"="Mobiles & Tablets","Others"="Others","School & Education"="School & Education",  "Soghaat"="Soghaat","Superstore"="Superstore","Women's Fashion"="Women's Fashion",
  `\\N`="Not Available",.default = "Not Available"))%>% 
  
  # Reclassifica os métodos de pagamento para nomes mais compreensíveis
  mutate(payment_method=recode(payment_method,`apg`="APG",`bankalfalah`="Bank Alfalah",`cashatdoorstep`="Cash on Delivery",
  `cod`="Cash on Delivery",`customercredit`="Customer Credit",`Easypay`="Easy Pay",`Easypay_MA`="Easy Pay MA",
  `easypay_voucher`="Easy Pay Voucher",`financesettlement`="Finance Settlement",`internetbanking`="Internet Banking",
  `jazzvoucher`="Jazz Voucher",`jazzwallet`="Jazz Wallet",`marketingexpense`="Marketing Expense",`mcblite`="MCB Lite",
  `mygateway`="My Gateway",`Payaxis`="Pay Axis",`productcredit`="Product Credit",`ublcreditcard`="UBL Credit Card"))%>% 
  mutate(Total = n*qty_ordered)  # Calcula o total multiplicando a quantidade pedida pelo número de ocorrências
  E3x=select(E3,-c(4,5)) # Remove colunas desnecessárias (por índice)
  E3total=aggregate(E3x$Total, by=list(Year=E3x$Year,Category=E3x$category_name_1,Payment=E3x$payment_method), FUN=sum)
  names(E3total)[names(E3total) == "x"] <- "Total" 

  # Criar um gráfico de barras horizontais com a distribuição dos totais por Categoria e Método de Pagamento
    ggplot(E3total, aes(y = Category, x = Total,fill=Payment)) +
    geom_segment(aes(x = 0, y = Category, xend = Total, yend = Category), color = "snow1", size = 0.75) +
    geom_bar( stat = "identity")  +
    # Definer estilos de fonte para os títulos e rótulos dos eixos
    font("title", size = 16, color = "blue", face = "bold")+
    font("xlab", size = 12, color = "blue",face = "bold")+
    font("ylab", size = 12, color = "blue",face = "bold")+
    # Definer uma paleta de cores personalizada para os Métodos de Pagamento
    scale_fill_manual(values=c("#8B2252", "#00E5EE", "#FF6347","#EED2EE", "#FFA54F", "#63B8FF","#00FF7F", "#EEE9E9", "#89D3EE","#7D26CD", "#DDA0DD","#FFDAB9", "#8B475D", "#87CEEB","#FF8247", "#FFC1C1","#008B8B"))+
    facet_wrap(~Year)+# Cria facetas para cada Ano
    labs(title = "Métodos de pagamentos mais utilizados", x = "Total", y = "Nome das categorias")+ # Adiciona título e rótulos aos eixos
    # Personaliza o tema do gráfico
    theme( strip.text = element_text( size = 10, color = "snow1", hjust = 0.5 ,face = "bold"),axis.text.x=element_text(angle=90,colour="black",size=10 ),axis.text.y=element_text(colour="black",size=10), panel.background = element_rect(fill = "snow1",colour = "snow1",size = 0.5, linetype = "solid"),strip.background =element_rect(fill="blue"))



Conclusão:

Conforme mostrado no gráfico e na tabela, o cliente usa vários modos de pagamento. Os cinco mais altos são:

  1. COD (metodo pagamento em que o cliente paga pelo produto apenas no momento da entrega)= 326,515

  2. Pay Axis = 125,889

  3. Easy Pay = 121,596

  4. Jazz Wallet = 53,952

  5. Easy Pay Voucher = 38,856

Têndencias:

  • Enquanto no ano de 2018 (primeiro gráfico) a categoria ‘Outros’ tem o maior modo de pagamento através do Easy Pay.

  • A categoria “Women’s Fashion” parece ter uma distribuição equilibrada entre vários métodos de pagamento.

  • “Mobiles” mostra uma preferência significativa por um método específico de pagamento em 2018.

4.4 Categoria Mais Vendida (Status por Quantidade)


A Categoria Mais Vendida (Status por Quantidade) destaca os produtos que alcançaram o maior volume de vendas. Esta categoria é essencial para entender as preferências dos clientes e identificar tendências de mercado. Ao analisar os dados de vendas, pode-se otimizar o estoque, melhorar a estrátegia de marketing e garantir a estrátegia que mais faz sentido nos dias de hoje e que permita atingir o melhor faturamento para o e-commerce.

# Selecionar colunas específicas do dataframe e recodifica os nomes das categorias para garantir consistência
E66=select(ecommerce_data,status,Year,category_name_1,grand_total)%>% 
mutate(category_name_1=recode(category_name_1,"Appliances"="Appliances","Beauty & Grooming"="Beauty & Grooming","Books"="Books","Computing"="Computing","Entertainment"="Entertainment","Health & Sports"="Health & Sports","Home & Living"="Home & Living","Kids & Baby"="Kids & Baby","Men's Fashion"="Men's Fashion","Mobiles & Tablets"="Mobiles & Tablets","Others"="Others","School & Education"="School & Education",    "Soghaat"="Soghaat","Superstore"="Superstore","Women's Fashion"="Women's Fashion",
`\\N`="Not Available",.default = "Not Available"))%>% 
# Recodificar os status dos pedidos para nomes mais descritivos
mutate(status=recode(status,`\\N`="Not Available",`order_refunded`="Order Refunded",`pending_paypal`="Pending Paypal",
`payment_review`="Payment Review",`cod`="Cash on Delivery",`cashatdoorstep`="Cash on Delivery",`canceled`="Canceled",
`closed`="Closed",`complete`="Complete",`exchange`="Exchange",`fraud`="Fraud",`holded`="Holded",`paid`="Paid",
`pending`="Pending",`processing`="Processing",`received`="Received",`refund`="Refund",.default = "Not Available"))%>% 
filter(status!="Canceled"& status!="Fraud"& status!="Not Available"& status!="Refund"& status!="Order Refunded")   # Filtra pedidos que não foram cancelados, fraudulentos, indisponíveis ou reembolsados
E66x=select(E66,-c(1))
E66x$grand_total=round(E66x$grand_total,digit=0)
E66total=aggregate(E66x$grand_total, by=list(Year=E66x$Year,Category=E66x$category_name_1), FUN=sum)
names(E66total)[names(E66total) == "x"] <- "Total" 
E66dast=dcast(E66total,Category~Year,value.var = "Total")
E66dast[is.na(E66dast)] = 0 # Substituir valores NA por 0
E66dasttotal=E66dast %>% mutate(Total = rowSums(.[2:4]))%>% # Calcular o total por linha somando os valores dos anos e adiciona uma linha de totais
adorn_totals("row")

# Criar um gráfico de barras para visualizar os totais por ano e categoria
  ggplot( E66total, aes( x = Year, y = Total,fill=Total) ) + 
  geom_bar( stat = "identity",color = "deepskyblue4", fill="deepskyblue4")  +
     # Define o estilo dos títulos e rótulos dos eixos
 font("title", size = 16, color = "darkslateblue",face = "bold")+
  font("xlab", size = 12, color = "darkslateblue",face = "bold")+
  font("ylab", size = 12, color = "darkslateblue",face = "bold")+
  facet_wrap( ~ Category,ncol=3)+ # Cria facetas para cada categoria, com 3 colunas
  labs(title = "Categoria Mais Vendida (Status por Quantidade)", x = "Anos", y = "Número de categorias")+ # Adiciona o título e rótulos dos eixos
  theme( strip.text = element_text( size = 10, color = "snow1", hjust = 0.5 ,face = "bold"),axis.text.x=element_text(colour="darkslateblue",size=10 ),axis.text.y=element_text(colour="darkslateblue",size=7), panel.background = element_rect(fill = "snow1",colour = "snow1",size = 0.5, linetype = "solid"),strip.background =element_rect(fill="darkslateblue"))



Conclusão:

Conforme mostrado no gráfico e na tabela, o valor de Mobile & Tablet, Eletrodomésticos e Entretenimento estava alto em comparação com outros produtos. Maior receita de E-Commerce desses 3 anos.

  1. Mobiles & Tablets = 616,711,260 (seiscentos e dezesseis milhões, setecentos e onze mil, duzentos e sessenta)

  2. Appliances = 237,349,101 (duzentos e trinta e sete milhões, trezentos e quarenta e nove mil, cento e um)

  3. Entertainment = 193,161,693 (cento e noventa e três milhões, cento e sessenta e um mil, seiscentos e noventa e três)

  4. Women’s Fashion = 145,796,529(Cento e quarenta e cinco milhões, setecentos e noventa e seis mil, quinhentos e vinte e nove)

  5. Men’s Fashion = 89,097,513(Oitenta e nove milhões, noventa e sete mil, quinhentos e treze)

As taxas de crescimento e a receita de diferentes categorias de produtos ao longo dos anos 2016, 2017 e 2018

Em 2016, a taxa de crescimento de Mobiles & Tablets foi de 28%. Em 2017, foi de 40% e, em 2018, foi de 38%. No ano de 2018, a receita diminuiu para 2%. A razão para isso é que mais cancelamentos foram registrados em 2017 e 2018. Apenas Eletrodomésticos e Entretenimento aumentaram, enquanto a receita de outros produtos diminuiram.

Número de Mobile & Tablet com o Status de cancelado:

  1. Em 2016 = 10,315

  2. Em 2017 = 32,556

  3. Em 2018 = 20,387

Então para um e-commerce, o negócio mais lucrativo é o de celulares e tablets, pois está crescendo de forma extremamente rápida. E ele conseguirá crescer mais rápido ainda, se medidas para evitar o cancelamento forem tomadas como, por exemplo, melhoria da experiência de compra, feedback pós-venda, transparência e clareza nas informações, etc.

4.5 Correlação entre método de pagamento e status da categoria


A análise da correlação entre método de pagamento e status da categoria é fundamental para entender como diferentes formas de pagamento influenciam o desempenho das categorias de produtos em um e-commerce. Este estudo visa identificar padrões e tendências que possam ajudar a otimizar as estratégias de vendas e marketing, proporcionando uma experiência de compra mais eficiente e personalizada para os clientes. Ao compreender essas correlações, as empresas podem tomar decisões mais informadas sobre quais métodos de pagamento promover e como ajustar suas ofertas de produtos para maximizar a satisfação do cliente e a lucratividade.

    # Selecionar colunas específicas do dataframe e conta a quantidade de ocorrências de cada combinação de Ano, quantidade de pedidos, método de pagamento e status
E4=select(ecommerce_data,category_name_1,payment_method,qty_ordered,Year,status) %>% 
count(Year,qty_ordered,payment_method,status) %>% 
  # Recodificar os métodos de pagamento para nomes mais descritivos
mutate(payment_method=recode(payment_method,`apg`="APG",`bankalfalah`="Bank Alfalah",`cashatdoorstep`="Cash on Delivery",
`cod`="Cash on Delivery",`customercredit`="Customer Credit",`Easypay`="Easy Pay",`Easypay_MA`="Easy Pay MA",
`easypay_voucher`="Easy Pay Voucher",`financesettlement`="Finance Settlement",`internetbanking`="Internet Banking",
`jazzvoucher`="Jazz Voucher",`jazzwallet`="Jazz Wallet",`marketingexpense`="Marketing Expense",`mcblite`="MCB Lite",
`mygateway`="My Gateway",`Payaxis`="Pay Axis",`productcredit`="Product Credit",`ublcreditcard`="UBL Credit Card",
.default = "Not Available"))%>% 
  # Recodificar o status para nomes mais descritivos
 mutate(status=recode(status,`\\N`="Not Available",`order_refunded`="Order Reunded",`pending_paypal`="Pending Paypal",
`payment_review`="Payment Review",`cod`="Cash on Delivery",`cashatdoorstep`="Cash on Delivery",`canceled`="Canceled",
`closed`="Closed",`complete`="Complete",`exchange`="Exchange",`fraud`="Fraud",`holded`="Holded",`paid`="Paid",
`pending`="Pending",`processing`="Processing",`received`="Received",`refund`="Refund",.default = "Not Available"))%>% 
 mutate(Tot = n*qty_ordered) # Calcula o total multiplicando a contagem pelo número de pedidos
 names(E4)[names(E4) == "n"] <- "Total" # Renomeia a coluna 'n' para 'Total' para evitar ambiguidades
 E4x=select(E4,-c(1,2,5)) # Remove colunas que não são mais necessárias
 E4total=aggregate(E4x$Tot, by=list(Payment_Method=E4x$payment_method,Status=E4x$status), FUN=sum)
 names(E4total)[names(E4total) == "x"] <- "Total" 
 E4dast=dcast(E4total,Payment_Method~Status,value.var = "Total")
 E4dast[is.na(E4dast)] = 0
 # Calcula o total por linha somando os valores de cada status
 E4dasttotal=E4dast %>%
 mutate(Total = rowSums(.[2:17]))%>%
 adorn_totals("row")
 
 # Gera um gráfico de barras para visualizar o total por método de pagamento e status
  ggplot(E4total, aes(x =Payment_Method , y = Total ,fill = Status)) +
  geom_col( )  +
  font("title", size = 16, color = "blue",face = "bold")+
  font("xlab", size = 16, color = "blue",face = "bold")+
  font("ylab", size = 16, color = "blue",face = "bold")+
  scale_fill_manual(values=c("#CD3333","#8B2252", "#00E5EE", "#FF6347","#EED2EE", "#FFA54F", "#63B8FF","#00FF7F", "#EEE9E9", "#89D3EE","#7D26CD", "#DDA0DD","#FFDAB9", "#8B475D", "#87CEEB","#FF8247"))+ # Define as cores manuais para cada status
  # Adiciona o título e rótulos dos eixos
  labs(title = "Método de pagamento e Status", x = "Método de pagamento", y = "Total")+
  # Personaliza o tema do gráfico
  theme( strip.text = element_text( size = 10, color = "snow1", hjust = 0.5 ,face = "bold"),axis.text.x=element_text(angle = 90,colour="magenta4",size=10 ),axis.text.y=element_text(colour="magenta4",size=7), panel.background = element_rect(fill = "snow1",colour = "snow1",size = 0.5, linetype = "solid"),strip.background =element_rect(fill="blue"))



Conclusão:

A seguir estão os modos de pagamento pelos quais os clientes realizaram a maior quantidade de transações.

  1. Cash On Delivery (Total = 326,515 e status completo = 172,793)

  2. Pay Axis (Total = 125,889 e status completo = 28,080)

  3. Easy Pay (Total = 121,596 e status completo = 24,272)

  4. Jazz Wallet (Total = 53,952 e estatus completo = 18,512)

  5. Easy Pay Voucher (Total = 38,856 e status completo = 18,300)

Portanto, o melhor modo de pagamento é o Cash On Delivery. As desvantagens do Cash On Delivery são que há um risco maior de que os produtos sejam recusados na entrega e há custos envolvidos na devolução dos itens.

Outro ponto que o gráfico trás é que os métodos de pagamento Pay Axis e Easy Pay desempenharam muito mal, ao longo dos anos, e isso é fácil de ser notado no gráfico, pois eles nos mostrar que o nível de compras canceladas foi extremamente alto. Suponhamos que os clientes que utilizam desses dois métodos de pagamento, possuam uma certa dificuldade de utiliza-los e séria extremamente válido para as empresas reavaliarem esse problemas, pois o nível de pedidos é alto comparado ao outros métodos de pagamento.

4.6 Correlação entre data do pedido e categoria do item


A análise da correlação entre a data do pedido e a categoria do item é fundamental para entender padrões de compra e comportamento do consumidor. Este estudo permite identificar tendências sazonais, prever demandas futuras e otimizar o gerenciamento de estoque. Ao correlacionar essas variáveis, as empresas podem ajustar suas estratégias de marketing e vendas, garantindo que os produtos certos estejam disponíveis nos momentos de maior procura. Além disso, essa correlação pode revelar insights valiosos sobre a eficácia de promoções e campanhas específicas, contribuindo para decisões mais informadas e assertivas.

# Seleciona as colunas necessárias do conjunto de dados ecommerce_data e recodifica as categorias
act2016=select(ecommerce_data,created_at,category_name_1,qty_ordered) %>%
  mutate(category_name_1=recode(category_name_1,"Appliances"="Appliances","Beauty & Grooming"="Beauty & Grooming","Books"="Books","Computing"="Computing","Entertainment"="Entertainment","Health & Sports"="Health & Sports","Home & Living"="Home & Living","Kids & Baby"="Kids & Baby","Men's Fashion"="Men's Fashion","Mobiles & Tablets"="Mobiles & Tablets","Others"="Others","School & Education"="School & Education",  "Soghaat"="Soghaat","Superstore"="Superstore","Women's Fashion"="Women's Fashion",
  `\\N`="Not Available",.default = "Not Available"))%>% 
 # Conta o número de ocorrências por data de criação, categoria e quantidade de pedidos
  count(created_at,category_name_1,qty_ordered) %>%  
  mutate(Total = n*qty_ordered) # Calcula o total multiplicando a contagem pela quantidade de pedidos
  act2016x=select(act2016,-c(3,4)) # Remove as colunas desnecessárias
  # Agrega os valores de Total somando por data de pedido e categoria
  act2016total=aggregate(act2016x$Total, by=list(OrderDate=act2016x$created_at,Category=act2016x$category_name_1), FUN=sum)
  names(act2016total)[names(act2016total) == "x"] <- "Total"
  # Converte a data e cria novas colunas para dia, dia da semana, ano e mês
  act2016f=  act2016total %>% mutate(OrderDate=mdy(OrderDate), 
                               day = day(OrderDate), 
                               weekday = wday(OrderDate),
                               year = year(OrderDate),
                               month = month(OrderDate,label=TRUE))

 # Filtra os dados para o ano de 2017 e cria o gráfico para 2016
   Act16=act2016f %>% filter(year==2016)  
  ggplot(Act16,aes(x = day,y=Total)) +
  geom_line(size=1,colour= "red") +
  geom_point(size = 1,shape=20,colour= "coral") +
  font("title", size = 12, color = "coral4",face = "bold")+
  font("xlab", size = 10, color = "coral4",face = "bold")+
  font("ylab", size = 10, color = "coral4",face = "bold")+
  scale_x_continuous(breaks =c(1,15,31))+
  facet_grid(month~Category)+
  labs(title = "Status do Pedido para o Ano de 2016", x = "Dias", y = "Total")+
  theme( strip.text = element_text( angle=90,size = 6, color = "snow1", hjust = 0.5 ,face = "bold"),axis.text.x=element_text(colour="coral4",size=7 ),axis.text.y=element_text(colour="coral4",size=3), panel.background = element_rect(fill = "snow1",colour = "snow1",size = 0.5, linetype = "solid"),strip.background =element_rect(fill="coral4") )

# Filtra os dados para o ano de 2017 e cria o gráfico para 2017
  Act17=act2016f %>% filter(year==2017)  
  ggplot(Act17,aes(x = day,y=Total)) +
  geom_line(size=1,colour= "red") + # Adiciona linha vermelha
  geom_point(size = 1,shape=20,colour= "coral") +  # Adiciona pontos
  font("title", size = 12, color = "coral4",face = "bold")+
  font("xlab", size = 10, color = "coral4",face = "bold")+
  font("ylab", size = 10, color = "coral4",face = "bold")+
  scale_x_continuous(breaks =c(1,15,31))+ # Define os rótulos do eixo x
  facet_grid(month~Category)+ # Separa os gráficos por mês e categoria
  labs(title = "Status do Pedido para o Ano de 2017", x = "Dias", y = "Total")+
  theme( strip.text = element_text( angle=90,size = 6, color = "snow1", hjust = 0.5 ,face = "bold"),axis.text.x=element_text(colour="coral4",size=7 ),axis.text.y=element_text(colour="coral4",size=3), panel.background = element_rect(fill = "snow1",colour = "snow1",size = 0.5, linetype = "solid"),strip.background =element_rect(fill="coral4") )

# Repete para 2018 (gráfico para o ano de 2018)
  Act18=act2016f %>% filter(year==2018)  
  ggplot(Act18,aes(x = day,y=Total)) +
  geom_line(size=1,colour= "red") +
  geom_point(size = 1,shape=20,colour= "coral") +
  font("title", size = 16, color = "coral4",face = "bold")+
  font("xlab", size = 12, color = "coral4",face = "bold")+
  font("ylab", size = 12, color = "coral4",face = "bold")+
  scale_x_continuous(breaks =c(1,15,31))+
  facet_grid(month~Category)+
  labs(title = "Status do Pedido para o Ano de 2018", x = "Dias", y = "Total")+
  theme( strip.text = element_text( angle=90,size = 8, color = "snow1", hjust = 0.5 ,face = "bold"),axis.text.x=element_text(colour="coral4",size=7 ),axis.text.y=element_text(colour="coral4",size=5), panel.background = element_rect(fill = "snow1",colour = "snow1",size = 0.5, linetype = "solid"),strip.background =element_rect(fill="coral4") )



Conclusão:

  • Os anos de 2016 e 2017 mostram uma atividade significativa, especialmente nas categorias Mobiles & Tablets, Superstore e Others.

  • O ano de 2018 tem menos pedidos, com picos muito específicos, sugerindo uma possível queda no volume de transações ou mudanças no comportamento do consumidor.

  • Certos períodos do ano, especialmente no final do ano, apresentam maior concentração de pedidos, refletindo uma sazonalidade que pode ser explorada em estratégias comerciais futuras.

Picos de Pedidos:

  • Superstore e Mobiles & Tablets, especialmente em 2016 e 2017.

  • Women’s Fashion, Men’s Fashion, Computing e Appliances mostram atividade, mas de forma mais moderada em relação às outras categorias.

  • A categoria Others apresenta picos em todos os anos, sendo 2017 o mais significativo.

5 Conclusão Geral



Analisando os dados de vendas de e-commerce dos anos 2016, 2017 e 2018, identificamos tendências claras de comportamento dos consumidores em diversas categorias de produtos. Os itens mais requisitados pelos clientes foram principalmente Mobiles & Tablets, Moda Masculina e Feminina, e a Superstore. Por outro lado, categorias como Livros, Escola e Educação, e Produtos para Crianças e Bebês registraram menor volume de pedidos, sugerindo oportunidades de crescimento, especialmente com estratégias sazonais como campanhas de “Volta às Aulas” ou a introdução de produtos alinhados às preferências dos consumidores.

A categoria de Mobiles & Tablets destacou-se não apenas pelo volume de pedidos, mas também pela receita gerada, sendo o setor mais lucrativo. Apesar disso, houve um aumento expressivo de cancelamentos, especialmente em 2017 e 2018, o que aponta a necessidade de melhorias na gestão de estoque, comunicação e experiência do cliente para evitar cancelamentos. Estratégias como confirmação da disponibilidade do cliente antes do envio e melhorias nas imagens dos produtos também podem reduzir essas taxas.

Em relação aos modos de pagamento, o Cash On Delivery (COD) foi o mais utilizado, mas apresentou desvantagens como taxas elevadas de cancelamento e devoluções. Outros métodos como Pay Axis e Easy Pay tiveram baixo desempenho, com um número elevado de transações canceladas, indicando possíveis dificuldades dos clientes em utilizá-los. Reavaliar e otimizar a usabilidade desses métodos poderia minimizar perdas.

As análises também mostram que certos períodos do ano, especialmente no final, apresentam maior volume de pedidos, sugerindo uma forte sazonalidade. Estratégias comerciais devem aproveitar essas flutuações, com foco nas categorias que mostraram maior atividade em diferentes períodos.

Por fim, a tendência de crescimento de Mobiles & Tablets, Eletrodomésticos e Entretenimento reforça a necessidade de priorizar essas categorias em futuras estratégias de vendas e marketing. Implementando melhorias na experiência de compra e prevenindo cancelamentos, o e-commerce tem o potencial de manter um crescimento acelerado e otimizar o desempenho geral das transações em todas as categorias.