A análise de dados desempenha um papel fundamental na compreensão e no aproveitamento eficaz das informações disponíveis em qualquer conjunto de dados. No contexto deste dataset, que registra as vendas de uma loja nos Estados Unidos, a importância da análise se torna ainda mais evidente. Ele abrange uma ampla quantidade de informações cruciais, incluindo vendas, lucro, categorias e subcategorias de produtos vendidos, quantidades vendidas, descontos aplicados, mês da venda e informações sobre os consumidores.
Por que é importante analisar este conjunto de dados? A análise dele é importante por diversas razões. Primeiramente, permite uma compreensão abrangente do desempenho da loja ao longo do tempo, identificando padrões de vendas, lucros acerca de categorias e/ou estados e possíveis pontos de melhoria. Além disso, fornece insights valiosos sobre o comportamento do consumidor, preferências de produtos e sazonalidade das vendas. Essas informações são essenciais para o planejamento estratégico, tomada de decisões e otimização de recursos da empresa.
Como essa análise ajudará seus potenciais clientes? A análise detalhada deste dataset capacita os interessados, sejam gestores, analistas de mercado ou tomadores de decisão, a extrair informações que impulsionam o desempenho comercial. Ao identificar padrões e tendências nas vendas, é possível ajustar estratégias de marketing, precificação e gestão de estoque para maximizar a receita e o lucro. Além disso, compreender o perfil do cliente, suas preferências e comportamentos de compra permite a personalização das experiências de compra, aumentando a fidelidade e satisfação dele.
Para que as análises desejadas sejam realizadas, o conjunto de dados original será dividido em diversos subconjuntos que possuirão colunas diferentes de acordo com o propósito desejado para com aquele subconjunto. Ao fim, perguntas como “Quais tipos de produtos os estados mais compram?”, “Quais produtos mais vendem ao longo dos meses do ano?”, “Quais produtos mais possuem desconto?” e afins serão respondidas e apresentadas através de tabelas e gráficos.
O conjunto de dados deste trabalho foi obtido aqui
Superstore Sales é um conjunto de dados que contém informações sobre vendas de diversos tipos de produtos em diversas regiões (estados e cidades) dos Estados Unidos da América, possuindo colunas como: estado, vendas, lucro, categoria de produto, subcategoria de produto, quantidade, desconto, mês da venda e tipo de consumidor (se o cliente é uma empresa ou pessoa civil). O dataset original possui 9994 linhas e 21 colunas.
| Pacotes | Descrição |
|---|---|
| library(lubridate) | para trabalhar com datas |
| library(dplyr) | para manipulação avançada dos DataFrames |
| library(knitr) | para geração de tabelas |
| library(ggplot2) | para geração de gráficos |
| library(plotly) | para geração de gráficos |
| libraby(maps) | para trabalhar com mapas |
| library(rmdformats) | template customizado para documentos rmarkdown |
| library(mapdata) | dados geográficos adicionais para mapas |
| library(mapproj) | funções para projetar e transformar coordenadas |
| library(DT) | para geração de tabelas |
Foram feitos ajustes e limpezas no conjunto de dados original para que ele pudesse ser melhor compreendido e manipulado, removendo colunas indesejadas, realizando ajustes e conversões de valores e realizando reordenações.
Inicialmente os dados foram carregados e esem seguida foram removidas as colunas: Country, Row.ID, Ship.Date, Order.ID, Ship.Mode, Region, Postal.Code, Product.Name, Customer.Name e Product.ID, pois não teriam nenhuma utilidade nessa análise.
superstore <- read.csv("Superstore.csv") # carrega o dataset
sptreated <- superstore # trabalharemos com o dataset em sptreated
sptreated <- sptreated[, -which(names(sptreated) == "Country")]
sptreated <- sptreated[, -which(names(sptreated) == "Row.ID")]
sptreated <- sptreated[, -which(names(sptreated) == "Ship.Date")]
sptreated <- sptreated[, -which(names(sptreated) == "Order.ID")]
sptreated <- sptreated[, -which(names(sptreated) == "Ship.Mode")]
sptreated <- sptreated[, -which(names(sptreated) == "Region")]
sptreated <- sptreated[, -which(names(sptreated) == "Postal.Code")]
sptreated <- sptreated[, -which(names(sptreated) == "Product.ID")]
sptreated <- sptreated[, -which(names(sptreated) == "Product.Name")]
sptreated <- sptreated[, -which(names(sptreated) == "Customer.Name")]O conjunto foi reordenado de forma decrescente com base na coluna “Sales”, que representa os valores obtidos com as vendas
Em seguida, o valor real da venda foi calculado com base no desconto e foi criada uma nova coluna chamada “Real.Sale”
Uma constante com o valor do dólar foi criada, em seguida foi feita a conversão de valores das colunas Sales, Profit, e Real.Sale para a nossa moeda, BRL
taxaDOL <- 4.95
sptreated$Sales <- sptreated$Sales * taxaDOL
sptreated$Profit <- sptreated$Profit * taxaDOL
sptreated$Real.Sale <- sptreated$Real.Sale * taxaDOLE, por último, essas mesmas colunas tiveram seus valores ajustados para terem duas casas decimais
As colunas segment e category foram transformadas em fatores para melhor manipulação futura
Foi feita a conversão da coluna Order.Date de character para Date, e a partir disso foi criada uma nova coluna “Month”, constituída de fatores que indicam qual o mês de venda de cada produto. A coluna “Order.Date” foi descartada
Na seção de análise exploratória serão usados dados derivados deste conjunto resultante, cujos resultados após as etapas de limpeza, ajustes e reordenação podem ser visualizados brevemente na tabela abaixo
As análises a serem conduzidas serão feitas a partir de subconjuntos que irão corresponder cada análise separadamente, para que assim tenhamos os gráficos e tabelas necessárias para a visualização dos dados. Cada observação terá um objetivo que será explicado.
Para melhor gerar os gráficos e tabelas usados nessa seção vamos dividir o conjunto de dados original em subconjuntos, contendo as variáveis de interesse de cada um. Devido a necessidade, um subconjunto terá uma coluna nova
Separando um dataset com as colunas Category e Sales, depois reordenando ele em ordem decrescente com base no lucro
category_sales_dataset <- sptreated[, c("Category", "Sales")]
category_sales_dataset <- aggregate(Sales ~ Category, category_sales_dataset, sum)
category_sales_dataset <- category_sales_dataset[order(category_sales_dataset$Sales, decreasing = TRUE), ]Depois, fazendo o mesmo subdataset mas agora com a coluna profit.
category_profit_dataset <- sptreated[, c("Category", "Profit")]
category_profit_dataset <- aggregate(Profit ~ Category, category_profit_dataset, sum)
category_profit_dataset <- category_profit_dataset[order(category_profit_dataset$Profit, decreasing = TRUE), ]Separando um dataset com as colunas City e Sales.
city_sales <- sptreated %>%
group_by(City) %>%
summarise(Total_Sales = sum(Sales))
city_sales <- city_sales[order(city_sales$Total_Sales, decreasing = TRUE), ]
# separando num dataset a parte a 10 cidades com mais vendas
top_10_cities <- head(city_sales, 10)
top_10_cities <- top_10_cities[order(-top_10_cities$Total_Sales), ]Separando um dataset com as colunas Category e Real.Sale
category_realsale_dataset <- sptreated[, c("Category", "Real.Sale")]
category_realsale_dataset <- aggregate(Real.Sale ~ Category, category_realsale_dataset, sum)
category_realsale_dataset <- category_realsale_dataset[order(category_realsale_dataset$Real.Sale, decreasing = TRUE), ]Separando um dataset com as colunas Category e Total_Discount_Quantity, esta será criada junto com a criação do dataset
discount_dataset <- sptreated %>%
filter(Discount > 0)
discount_dataset <- discount_dataset %>%
group_by(Category) %>%
summarise(Total_Discount_Quantity = sum(Quantity))
discount_dataset <- discount_dataset %>%
arrange(desc(Total_Discount_Quantity))Separando um dataset com as colunas Costumer.ID, Sales e Segment
customer_sales <- sptreated %>%
group_by(Customer.ID) %>%
summarise(Total_Sales = sum(Sales), Segment = first(Segment))
customer_dataset <- customer_sales %>%
arrange(desc(Total_Sales))Separando um dataset com as colunas Month e Sales, depois reordenando ele em ordem decrescente com base nas vendas
month_dataset <- sptreated %>%
group_by(Month) %>%
summarise(Total_Sales = sum(Sales))
month_dataset <- month_dataset %>%
arrange(desc(Total_Sales))Separando um dataset com as colunas State e Category
state_dataset <- sptreated %>%
group_by(State, Category) %>%
summarise(Count = sum(Sales)) %>%
ungroup()
state_dataset <- state_dataset %>%
group_by(State) %>%
top_n(1, Count) %>%
select(State, Category)Agora que temos o conjunto original reformulado e os subconjuntos desejados, temos todas as variáveis de interesse com as quais trabalharemos, na seguinte tabela:
| Colunas | Descrição |
|---|---|
| Customer.ID | ID do cliente |
| State | Estado da compra |
| Segment | Segmento do cliente |
| Category | Categoria do produto |
| Sales | Valor bruto obtido com a venda |
| Quantity | Quantidade vendida |
| Ttotal_Discount_Quantity | Quantidade de produtos com algum desconto |
| Profit | Lucro obtido |
| Real.Sale | Valor real calculado com o desconto |
| Month | Mês de ocorrência da venda |
Podemos obter informações sobre números (em dinheiro) de vendas a partir da coluna Sales. Relacionando esses números com a coluna Category podemos descobrir quais categorias de produtos mais vendem. Assim, a empresa pode tomar medidas como, por exemplo, aumentar o preço desta categoria de produtos, aumentar o estoque dela ou investir em mais variedade de produtos desse tipo.
fig <- plot_ly(category_sales_dataset,
labels = ~Category,
values = ~Sales,
type = 'pie')
fig #printar o gráficoA coluna Sales, apesar de conter o valor bruto obtido com as vendas, não é suficiente para que possamos usar apenas ela como parâmetro para conclusões. A coluna que realmente representa o lucro obtido com essas vendas é a Profit, e partir dela podemos realmente ver quais categorias de produtos mais geram lucro.
fig <- plot_ly(category_profit_dataset,
labels = ~Category,
values = ~Profit,
type = 'pie')
fig # printar o gráficoComo podemos observar, as duas categorias que mais geram rendimento para a empresa são Technology e Office Supplies. A categoria Furniture gera uma renda minúscula se comparada às outras duas.
A pergunta é: por que? Usaremos outra coluna, a Discount, para investigar o que pode estar influenciando nesses resultados. Abaixo temos uma tabela que mostra a categoria de um produto, e ao lado, a quantidade de produtos pertencentes àquela categoria que possuem algum tipo de desconto no valor de sua venda.
É perceptível que Office Supplies possui quase o triplo da quantidade de produtos que possuem alguma porcentagem de desconto quando comparada a Furniture, e mesmo assim o lucro de Furniture é mínimo. Partindo para outra tabela que se encontra abaixo, esta que agora exibe a categoria e o valor real da venda, ou seja, o valor calculado de acordo com seu desconto correspondente aplicado, podemos perceber que Office Supplies e Furniture contém valores parecidíssimos.
Tendo em mente as informações apresentadas nas duas tabelas o principal indício é de que os produtos da classe Furniture possuem, naturalmente, um lucro baixo, pois foi comprovado que os mesmos não tiveram seus valores significativamente modificados pelos seus descontos. É perceptível, também, o potencial que que a classe Office Supplies tem de gerar uma receita talvez ainda maior que a Technology caso a quantidade de seus produtos que possuem algum tipo de desconto abaixe consideravelmente. Consciente disso a empresa pode decidir parar ou não de trabalhar com produtos do tipo Furniture.
Quanto às informações sobre clientes podemos saber quais clientes compram mais e quais são seus segmentos. Neste contexto, os segmentos representam o tipo de cliente que está comprando, independente do produto. Se tratando deles temos três tipos:
Home Office: Engloba os clientes que compram todo tipo de produto de escritório para uso em escritório doméstico. São itens como acessórios de computador, acessórios de escritório em geral (grampeadores, impressoras) e etc.
Consumer: Inclui os consumidores que gastam com todo tipo de produto para uso pessoal, com uma ampla gama de objetos como eletrônicos, móveis, eletrodomésticos e etc.
Corporate: Estas são as pessoas que compram em nome de alguma empresa, ou seja, são os clientes empresariais que adquirem itens em prol da corporação.
Na tabela abaixo podemos ver quais clientes dos segmentos Home office e Consumer mais compram, com limitação de 10 linhas, sendo possível aumentar ou diminuir a exibição das informações de acordo com a necessidade.
dado_filtrado <- customer_dataset %>%
filter(Segment %in% c("Home Office", "Consumer"))
# Limitar a tabela resultante a 20 linhas
dado_filtrado <- head(dado_filtrado, 10)
# Criar a tabela
datatable(dado_filtrado, options = list(paging = FALSE))Afim de manter estes clientes engajados nas compras algumas estratégias podem ser feitas, como aplicar medidas para retorno dos mesmos através descontos bem calculados em suas compras e política de cashback para que, assim, este consumidor se mantenha fiel à empresa.
Também é possível visualizar consumidores advindos de corporações, ou seja, os do segmento Corporate na tabela a seguir
dado_filtrado <- customer_dataset %>%
filter(Segment %in% c("Corporate"))
# Limitar a tabela resultante a 20 linhas
dado_filtrado <- head(dado_filtrado, 10)
# Criar a tabela
datatable(dado_filtrado, options = list(paging = FALSE))Já com este tipo de comprador, as medidas que podem ser executadas são: tentar estabelecer parcerias comerciais com a corporação que ele representa, trazendo assim benefícios para ambas as companhias, e oferecer descontos para que, desta forma, os compradores sejam estimulados a comprar mais e mais.
A seguir temos um gráfico que apresenta o valor obtido em receita de acordo com cada mês do ano
fig <- plot_ly(month_dataset,
x = ~Month,
y = ~Total_Sales,
type = 'bar', color = 'green')
fig # printar o gráficoComo podemos observar, os meses finais do ano são os que têm o maior volume de faturamento. Sabendo disso, diversos planejamentos podem ser feitos, sendo eles:
Planejamento antecipado de estoque: Antecipar a demanda esperada durante os meses de novembro e dezembro e garantir que haja estoque suficiente dos produtos mais procurados. Isso pode envolver negociações com fornecedores, aumento da produção ou armazenamento de estoque extra.
Ofertas e promoções estratégicas: Criar ofertas especiais, descontos e promoções que atraiam os consumidores durante a temporada de compras de final de ano. Isso pode incluir pacotes promocionais, cupons de desconto, frete grátis ou brindes para compras acima de um determinado valor.
Marketing direcionado: Desenvolver estratégias de marketing específicas para promover os produtos mais populares durante os meses finais do ano. Isso pode envolver campanhas publicitárias em mídias sociais, e-mail marketing, anúncios online ou publicidade tradicional.
Otimização de preços: Monitorar de perto a demanda e ajustar os preços dos produtos conforme necessário para maximizar a receita. Isso pode incluir a implementação de estratégias de precificação dinâmica ou a utilização de algoritmos para determinar os preços ideais dos produtos.
Expansão do mix de produtos: Identificar oportunidades para expandir o mix de produtos oferecidos para incluir itens sazonais ou produtos relacionados que são populares durante a temporada de festas. Isso pode incluir produtos de edição limitada, presentes personalizados ou produtos temáticos de Natal.
O gráfico também nos mostra que o mês de setembro tem um aumento expressivo comparado aos outros meses. Isso pode ser explicado pelos dois principais fatores:
Volta às Aulas: Setembro marca o início do ano letivo em muitas escolas e universidades nos Estados Unidos. Isso leva a um aumento nas compras de materiais escolares, roupas, calçados, eletrônicos e outros itens relacionados à volta às aulas.
Descontos de Final de Temporada: No final do verão, muitas lojas oferecem descontos e liquidações para limpar o estoque de itens sazonais, como roupas de verão, equipamentos esportivos e produtos de lazer. Essas promoções podem atrair consumidores que procuram por ofertas e descontos.
Para nossa análise dos estados do país, teremos o seguinte gráfico representando os EUA. A cor de cada estado corresponde à categoria de produto que mais possui vendas naquele estado dentre as três: Office Supplies, Furniture e Technology.
# Carregar os dados do mapa dos Estados Unidos
state_map <- map_data("state")
# Converter os nomes dos estados em state_dataset para minúsculas para mesclagem correta
state_dataset$State <- tolower(state_dataset$State)
# Mesclar os dados do mapa com os dados do seu conjunto de dados
map_data <- left_join(state_map, state_dataset, by = c("region" = "State"))
# Gerar o mapa
ggplot(map_data, aes(x = long, y = lat, group = group, fill = Category)) +
geom_polygon(color = "black") +
scale_fill_manual(values = c("Technology" = "red", "Furniture" = "pink", "Office Supplies" = "purple")) +
coord_map() +
ggtitle("Vendas por Categoria em Cada Estado") +
theme_void()Como podemos ver, cada estado possui uma “preferência” por determinadas categorias de produtos. Com essa informação a empresa pode impulsionar ainda mais suas vendas oferecendo, por exemplo, fretes grátis para mercadorias de uma determinada categoria caso o comprador se encontre num estado em que essa categoria predomina na posição de produtos mais vendidos, além de ajustar seu estoque de acordo com as informações apresentadas no gráfico.
# Para plotar o gráfico na horizontal
ggplot(top_10_cities, aes(x = City, y = Total_Sales)) +
geom_bar(stat = "identity", fill = "#E3120B", color = "white") +
coord_flip() +
theme_minimal() +
labs(title = "10 of the cities with the most sales numbers", x = "Cities", y = "Sales")É possível ver que uma cidade se destaca: Nova York. Outras possuem quantidades expressivas de vendas, com valores quase parecidos: Los Angeles, Seattle e San Francisco. São cidades muito conhecidas, e suas quantidades podem ser explicadas se pensarmos que são cidades com maior infraestrutura e população, pois geralmente, cidades maiores e mais desenvolvidas economicamente tendem a ter quantidades de vendas maiores devido à sua infraestrutura, densidade populacional e maior poder de compra da população. Também tem relação com uma economia diversificada, abrangendo diferentes setores como tecnologia, manufatura, serviços financeiros, entre outros, podem ter uma base mais sólida para sustentar altas quantidades de vendas. Além do turismo, é claro, um fator importante para o sucesso dessas cidades. Tendo em mão estes dados a empresa pode, por exemplo, abrir filiais nestas cidades afim de aumentar seu volume de vendas.
O presente trabalho buscou analisar o conjunto de dados do Superstore Sales, com o objetivo de fornecer insights para a tomada de decisões estratégicas relacionadas às vendas e lucros da empresa. Através de análises exploratórias e visualizações gráficas, identificamos padrões e tendências significativas que podem influenciar o desempenho comercial da empresa.
Ao longo da análise, pudemos observar diversas descobertas importantes:
Tendências de Vendas por Categoria: Identificamos as categorias de produtos que geram os maiores volumes de vendas e lucros para a empresa. Descobrimos que as categorias de Tecnologia e Suprimentos de Escritório são as mais lucrativas, enquanto a categoria de Móveis apresenta um desempenho mais modesto. A análise detalhada das vendas e lucros por categoria permitiu à empresa entender melhor seu mix de produtos e ajustar suas estratégias de marketing e estoque.
Comportamento do Cliente: Analisamos os padrões de compra dos clientes, segmentados por tipo (Home Office, Consumer e Corporate). Identificamos os principais clientes de cada segmento e destacamos a importância de medidas estratégicas para atrair e manter esses clientes engajados, como promoções personalizadas e parcerias comerciais.
Sazonalidade e Tendências de Mercado: Investigamos as variações sazonais nas vendas ao longo do ano, destacando os meses de pico de atividade comercial. Compreendemos a importância de planejar antecipadamente para atender à demanda durante os períodos de maior movimento, além de aproveitar oportunidades de vendas sazonais.
Preferências Regionais: Exploramos as preferências de produtos em diferentes regiões dos Estados Unidos, destacando as categorias de produtos mais populares em cada estado. Essas informações podem ser usadas para personalizar as estratégias de marketing e estoque de acordo com as preferências regionais dos consumidores.
Fluxo em Cidades: Com base na análise das cidades com as maiores quantidades de vendas, observa-se que fatores como infraestrutura, população, diversidade econômica e políticas de negócios podem influenciar significativamente os níveis de vendas, e que estas informações são valiosas para que estratégias possam ser tomadas.
No geral, esta análise fornece informações valiosas que podem em diversas áreas da empresa. Ao compreender melhor o comportamento do cliente, as tendências de mercado e as preferências regionais, a empresa pode otimizar suas operações e maximizar sua lucratividade. Essas descobertas não apenas ajudam a empresa a entender melhor seu desempenho atual, mas também fornecem uma base sólida para o desenvolvimento de estratégias futuras e o alcance de metas de crescimento a longo prazo.
Melhoria: Este estudo poderia ser aprimorado com a presença de mais dados que mostrassem o contexto em que as vendas ocorrem. Por exemplo, informações demográficas dos clientes, condições econômicas regionais e tendências de mercado mais amplas poderiam fornecer insights adicionais sobre o comportamento de compra e as preferências dos consumidores. Além disso, a análise poderia extrair mais informações caso fossem usadas tecnologias da área de dados mais avançadas para, por exemplo, prever tendências futuras de compras e etc, usar machine learning poderia ajudar a empresa a antecipar demandas do mercado, otimizar o mix de produtos e tomar decisões melhores acerca de estratégias de precificação de mercadorias e promoções.