=============================================================================

ANÁLISIS ESTADÍSTICO - DATOS DE NEGOCIOS

Archivo de datos: datos_negocios_extra_2_facturacion.csv

=============================================================================

— Librerías necesarias —————————————————-

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)

— Carga de datos ———————————————————-

datos <- read.csv("datos_negocios_extra_2_facturacion.csv",
                  stringsAsFactors = FALSE,
                  encoding = "UTF-8")

Vista previa

head(datos)
##       Sector Facturacion_Total Clientes_Activos Devoluciones
## 1     Retail          194658.2              819           31
## 2     Retail          151419.0              443           66
## 3      Salud          192521.7              153           58
## 4 Tecnología          403617.0              490           34
## 5     Retail          325859.7              637           77
## 6  Educación          146740.4               91           61
str(datos)
## 'data.frame':    100 obs. of  4 variables:
##  $ Sector           : chr  "Retail" "Retail" "Salud" "Tecnología" ...
##  $ Facturacion_Total: num  194658 151419 192522 403617 325860 ...
##  $ Clientes_Activos : int  819 443 153 490 637 91 521 54 718 740 ...
##  $ Devoluciones     : int  31 66 58 34 77 61 85 100 68 88 ...

=============================================================================

1. PRUEBA DE BONDAD DE AJUSTE (Chi-cuadrado)

=============================================================================

Objetivo: evaluar si la distribución de empresas por sector económico

sigue una distribución uniforme.

H0: Los sectores siguen una distribución uniforme.

H1: Los sectores NO siguen una distribución uniforme.

Nivel de significancia: 5%

—————————————————————————–

frecuencias_sector <- table(datos$Sector)

frecuencias_esperadas <- rep(
  sum(frecuencias_sector) / length(frecuencias_sector),
  length(frecuencias_sector)
)

prueba_bondad <- chisq.test(
  x = frecuencias_sector,
  p = frecuencias_esperadas / sum(frecuencias_esperadas)
)

cat("\n--- PRUEBA DE BONDAD DE AJUSTE ---\n")
## 
## --- PRUEBA DE BONDAD DE AJUSTE ---
print(frecuencias_sector)
## 
##  Educación     Retail      Salud Tecnología 
##         21         28         27         24
print(prueba_bondad)
## 
##  Chi-squared test for given probabilities
## 
## data:  frecuencias_sector
## X-squared = 1.2, df = 3, p-value = 0.753

Conclusión:

Si el valor p < 0.05, se rechaza H0 y se concluye que los sectores

NO se distribuyen de forma uniforme.

=============================================================================

2. PRUEBA DE INDEPENDENCIA (Chi-cuadrado)

=============================================================================

Objetivo: determinar si existe relación entre el sector económico

y el nivel de devoluciones (clasificado como Alto o Bajo según la mediana).

H0: El sector y el nivel de devoluciones son independientes.

H1: Existe dependencia entre las variables.

Nivel de significancia: 5%

—————————————————————————–

mediana_dev <- median(datos$Devoluciones)

datos$Nivel_Devoluciones <- ifelse(
  datos$Devoluciones > mediana_dev,
  "Alta",
  "Baja"
)

tabla_independencia <- table(
  datos$Sector,
  datos$Nivel_Devoluciones
)

prueba_independencia <- chisq.test(tabla_independencia)

cat("\n--- PRUEBA DE INDEPENDENCIA ---\n")
## 
## --- PRUEBA DE INDEPENDENCIA ---
print(tabla_independencia)
##             
##              Alta Baja
##   Educación     8   13
##   Retail       18   10
##   Salud        11   16
##   Tecnología   12   12
print(prueba_independencia)
## 
##  Pearson's Chi-squared test
## 
## data:  tabla_independencia
## X-squared = 4.3639, df = 3, p-value = 0.2248

Conclusión:

Si el valor p < 0.05, se concluye que el sector y el nivel de devoluciones

presentan una asociación estadísticamente significativa.

=============================================================================

3. PRUEBA DE HOMOGENEIDAD (Chi-cuadrado)

=============================================================================

Objetivo: evaluar si la proporción de clientes activos es homogénea

entre los distintos sectores económicos.

NOTA: La variable Clientes_Activos es numérica (conteo, no binaria).

Se clasifica en “Activo alto” vs “Activo bajo” usando la mediana

para poder construir una tabla de contingencia válida.

H0: Las distribuciones de clientes activos son homogéneas entre sectores.

H1: Las distribuciones NO son homogéneas entre sectores.

Nivel de significancia: 5%

—————————————————————————–

mediana_cli <- median(datos$Clientes_Activos)

datos$Nivel_Clientes <- ifelse(
  datos$Clientes_Activos > mediana_cli,
  "Alto",
  "Bajo"
)

tabla_homogeneidad <- table(
  datos$Sector,
  datos$Nivel_Clientes
)

prueba_homogeneidad <- chisq.test(tabla_homogeneidad)

cat("\n--- PRUEBA DE HOMOGENEIDAD ---\n")
## 
## --- PRUEBA DE HOMOGENEIDAD ---
print(tabla_homogeneidad)
##             
##              Alto Bajo
##   Educación     8   13
##   Retail       13   15
##   Salud        14   13
##   Tecnología   15    9
print(prueba_homogeneidad)
## 
##  Pearson's Chi-squared test
## 
## data:  tabla_homogeneidad
## X-squared = 2.8704, df = 3, p-value = 0.412

Conclusión:

Si el valor p < 0.05, existen diferencias significativas en la distribución

de clientes activos entre los sectores analizados.

=============================================================================

4. REGRESIÓN LINEAL SIMPLE

=============================================================================

Objetivo: analizar si existe una relación lineal entre la cantidad de

clientes activos y la facturación total.

Variable independiente (X): Clientes_Activos

Variable dependiente (Y): Facturacion_Total

Nivel de significancia: 5%

—————————————————————————–

modelo_regresion <- lm(
  Facturacion_Total ~ Clientes_Activos,
  data = datos
)

cat("\n--- REGRESIÓN LINEAL SIMPLE ---\n")
## 
## --- REGRESIÓN LINEAL SIMPLE ---
summary(modelo_regresion)
## 
## Call:
## lm(formula = Facturacion_Total ~ Clientes_Activos, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -252652 -104310   11698   93852  242414 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      250452.42   26231.76   9.548 1.16e-15 ***
## Clientes_Activos     27.48      44.21   0.622    0.536    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 129800 on 98 degrees of freedom
## Multiple R-squared:  0.003929,   Adjusted R-squared:  -0.006235 
## F-statistic: 0.3865 on 1 and 98 DF,  p-value: 0.5356

Conclusión:

El R² indica qué proporción de la variabilidad de la facturación es

explicada por los clientes activos.

Si el valor p del modelo < 0.05, la relación lineal es estadísticamente

significativa.

=============================================================================

5. GRÁFICO DE REGRESIÓN LINEAL

=============================================================================

Diagrama de dispersión con la recta de regresión ajustada.

—————————————————————————–

ggplot(datos,
       aes(x = Clientes_Activos,
           y = Facturacion_Total)) +
  geom_point(color = "blue", alpha = 0.6) +
  geom_smooth(method = "lm",
              se = TRUE,
              color = "red") +
  labs(
    title = "Relación entre Clientes Activos y Facturación Total",
    x     = "Clientes Activos",
    y     = "Facturación Total"
  ) +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

Conclusión:

Una pendiente positiva indica que la facturación aumenta a medida que

incrementa la cantidad de clientes activos.