Incrementemos el uso de bicicletas y seamos amigable con el ambiente

Paso 1: Importar base de datos .csv

#file.choose()

bd <- read.csv("/Users/joseramonvazquezguzman/Documents/Tecnológico de Monterrey/Septimo semestre/Analítica de datos /M3/rentadebicis.csv")

Paso 2: Entender la Base de Datos

resumen <- summary(bd)
resumen
##       hora            dia              mes              año      
##  Min.   : 0.00   Min.   : 1.000   Min.   : 1.000   Min.   :2011  
##  1st Qu.: 6.00   1st Qu.: 5.000   1st Qu.: 4.000   1st Qu.:2011  
##  Median :12.00   Median :10.000   Median : 7.000   Median :2012  
##  Mean   :11.54   Mean   : 9.993   Mean   : 6.521   Mean   :2012  
##  3rd Qu.:18.00   3rd Qu.:15.000   3rd Qu.:10.000   3rd Qu.:2012  
##  Max.   :23.00   Max.   :19.000   Max.   :12.000   Max.   :2012  
##     estacion     dia_de_la_semana     asueto         temperatura   
##  Min.   :1.000   Min.   :1.000    Min.   :0.00000   Min.   : 0.82  
##  1st Qu.:2.000   1st Qu.:2.000    1st Qu.:0.00000   1st Qu.:13.94  
##  Median :3.000   Median :4.000    Median :0.00000   Median :20.50  
##  Mean   :2.507   Mean   :4.014    Mean   :0.02857   Mean   :20.23  
##  3rd Qu.:4.000   3rd Qu.:6.000    3rd Qu.:0.00000   3rd Qu.:26.24  
##  Max.   :4.000   Max.   :7.000    Max.   :1.00000   Max.   :41.00  
##  sensacion_termica    humedad       velocidad_del_viento
##  Min.   : 0.76     Min.   :  0.00   Min.   : 0.000      
##  1st Qu.:16.66     1st Qu.: 47.00   1st Qu.: 7.002      
##  Median :24.24     Median : 62.00   Median :12.998      
##  Mean   :23.66     Mean   : 61.89   Mean   :12.799      
##  3rd Qu.:31.06     3rd Qu.: 77.00   3rd Qu.:16.998      
##  Max.   :45.45     Max.   :100.00   Max.   :56.997      
##  rentas_de_no_registrados rentas_de_registrados rentas_totales 
##  Min.   :  0.00           Min.   :  0.0         Min.   :  1.0  
##  1st Qu.:  4.00           1st Qu.: 36.0         1st Qu.: 42.0  
##  Median : 17.00           Median :118.0         Median :145.0  
##  Mean   : 36.02           Mean   :155.6         Mean   :191.6  
##  3rd Qu.: 49.00           3rd Qu.:222.0         3rd Qu.:284.0  
##  Max.   :367.00           Max.   :886.0         Max.   :977.0

Herramienta “El generador de valor de Datos”

Paso 1. Definir el área del negocio que buscamos impactar y mejorar su KPI.

El departamento de ventas, con indicadores clave de las rentas mensuales y rentas de usuarios suscritos y no suscritos.

Paso 2. Seleccionar plantilla (-s) para crear valor a partir de los datos de los clientes

Visión / segmentación / Personalización / Contextualización

La plantilla que se utilizó es la de visión, esta te conduce a poder generar nuevos métodos en cuanto al comportamiento que puede tener un cliente contrastado con el clima, buscando llegar a mayores ventas como resultado.

Paso 3. Generar ideas o conceptos específicos

Centrarse en área de ventas y así tener una estabilidad o eliminar las altas y bajas en estas ventas anuales y neutralizarla un poco más.

Paso 4. Reunir los datos requeridos

Base de datos proporcionada con registros de ventas y rentas, datos de suscripción y finalmente información sobre la temperatura para poderla relacionar con las otras variables.

Paso 5. Aquí se encargara el equipo de Marketing en crear una estrategia para aumentar las ventas en las temporadas bajas y conservar las temporadas altas de esta manera.

?Plot

?plot
## Help on topic 'plot' was found in the following packages:
## 
##   Package               Library
##   graphics              /Library/Frameworks/R.framework/Versions/4.2/Resources/library
##   base                  /Library/Frameworks/R.framework/Resources/library
## 
## 
## Using the first match ...
plot(bd$temperatura,bd$rentas_totales, main="Influencia de la Temperatura sobre las Rentas Totales", xlab="Temperatura", ylab="Cantidad")

Generar Regresión Lineal

regresion <- lm (rentas_totales ~ hora + dia + mes + año + estacion + dia_de_la_semana +asueto + temperatura + sensacion_termica + humedad + velocidad_del_viento, data=bd)
summary (regresion)
## 
## Call:
## lm(formula = rentas_totales ~ hora + dia + mes + año + estacion + 
##     dia_de_la_semana + asueto + temperatura + sensacion_termica + 
##     humedad + velocidad_del_viento, data = bd)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -305.52  -93.64  -27.70   61.85  649.10 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          -1.661e+05  5.496e+03 -30.217  < 2e-16 ***
## hora                  7.735e+00  2.070e-01  37.368  < 2e-16 ***
## dia                   3.844e-01  2.482e-01   1.549  0.12150    
## mes                   9.996e+00  1.682e+00   5.943 2.89e-09 ***
## año                   8.258e+01  2.732e+00  30.225  < 2e-16 ***
## estacion             -7.774e+00  5.177e+00  -1.502  0.13324    
## dia_de_la_semana      4.393e-01  6.918e-01   0.635  0.52545    
## asueto               -4.864e+00  8.365e+00  -0.582  0.56089    
## temperatura           1.582e+00  1.038e+00   1.524  0.12752    
## sensacion_termica     4.748e+00  9.552e-01   4.971 6.76e-07 ***
## humedad              -2.115e+00  7.884e-02 -26.827  < 2e-16 ***
## velocidad_del_viento  5.582e-01  1.809e-01   3.086  0.00203 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 141.7 on 10874 degrees of freedom
## Multiple R-squared:  0.3891, Adjusted R-squared:  0.3885 
## F-statistic: 629.6 on 11 and 10874 DF,  p-value: < 2.2e-16

Evaluar y en caso necesario ajustar la regresión lineal

regresion <- lm (rentas_totales ~ hora + año + sensacion_termica + humedad + velocidad_del_viento, data=bd)
summary (regresion)
## 
## Call:
## lm(formula = rentas_totales ~ hora + año + sensacion_termica + 
##     humedad + velocidad_del_viento, data = bd)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -319.25  -94.61  -27.27   60.26  671.26 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          -1.656e+05  5.577e+03 -29.696   <2e-16 ***
## hora                  7.817e+00  2.100e-01  37.223   <2e-16 ***
## año                   8.235e+01  2.772e+00  29.706   <2e-16 ***
## sensacion_termica     6.990e+00  1.651e-01  42.342   <2e-16 ***
## humedad              -1.853e+00  7.830e-02 -23.663   <2e-16 ***
## velocidad_del_viento  3.805e-01  1.792e-01   2.124   0.0337 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 143.8 on 10880 degrees of freedom
## Multiple R-squared:  0.3704, Adjusted R-squared:  0.3701 
## F-statistic:  1280 on 5 and 10880 DF,  p-value: < 2.2e-16

Construir Modelo Predictivo

datos_nuevos <- data.frame(hora=12, mes=1, año=2013, sensacion_termica=24, humedad=62, velocidad_del_viento=13)
predict(regresion,datos_nuevos)
##        1 
## 320.7996

Conclusiones

Se puede concluir que gracias a la regresión lineal con la cual se construyo mediante la función “lm” podemos obtener modelos lineales, se analizó cuál era el factor que más afectaba a la renta de bicicletas y se llego a la conclusión de que la temperatura es un factor con gran importancia en este aspecto. Gracias a la regresión lineal se obtuvo como resultado que además de la temperatura afectan otros valores como el mes, día y hora, dándonos un panorama mucho más amplio para la toma de decisiones y atacar esas temporadas bajas.

LS0tCnRpdGxlOiA8c3BhbiBzdHlsZT0iY29sb3I6cmVkIj5SZW50YSBkZSBCaWNpczwvc3Bhbj4KYXV0aG9yOiAiSm9zw6kgUmFtw7NuIFbDoXpxdWV6IEd1em3DoW4gQTAxNjI1MjAzIiAKZGF0ZTogIjIwLS0wOS0yMDIyIgpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgdG9jOiB0cnVlCiAgIHRvY19mbG9hdDogdHJ1ZQogICBjb2RlX2Rvd25sb2FkOiB0cnVlCi0tLQoKPGltZyBzcmM9ICIvVXNlcnMvam9zZXJhbW9udmF6cXVlemd1em1hbi9EZXNrdG9wL3JlZGRkZGRkLmpwZWciPgoKIyAqKkluY3JlbWVudGVtb3MgZWwgdXNvIGRlIGJpY2ljbGV0YXMgeSBzZWFtb3MgYW1pZ2FibGUgY29uIGVsIGFtYmllbnRlKioKCiMjIyAgUGFzbyAxOiBJbXBvcnRhciBiYXNlIGRlIGRhdG9zIC5jc3YKCmBgYHtyfQoKI2ZpbGUuY2hvb3NlKCkKCmJkIDwtIHJlYWQuY3N2KCIvVXNlcnMvam9zZXJhbW9udmF6cXVlemd1em1hbi9Eb2N1bWVudHMvVGVjbm9sb8yBZ2ljbyBkZSBNb250ZXJyZXkvU2VwdGltbyBzZW1lc3RyZS9BbmFsacyBdGljYSBkZSBkYXRvcyAvTTMvcmVudGFkZWJpY2lzLmNzdiIpCgpgYGAKCiMjIyAgUGFzbyAyOiBFbnRlbmRlciBsYSBCYXNlIGRlIERhdG9zCgpgYGB7cn0KCnJlc3VtZW4gPC0gc3VtbWFyeShiZCkKcmVzdW1lbgoKYGBgCgojIyMgIEhlcnJhbWllbnRhICJFbCBnZW5lcmFkb3IgZGUgdmFsb3IgZGUgRGF0b3MiCgojIyMjICA8c3BhbiBzdHlsZT0iY29sb3I6cmVkIj5QYXNvIDEuPC9zcGFuPiBEZWZpbmlyIGVsIMOhcmVhIGRlbCBuZWdvY2lvIHF1ZSBidXNjYW1vcyBpbXBhY3RhciB5IG1lam9yYXIgc3UgS1BJLgoKIyMjIyAgRWwgZGVwYXJ0YW1lbnRvIGRlIHZlbnRhcywgY29uIGluZGljYWRvcmVzIGNsYXZlIGRlIGxhcyByZW50YXMgbWVuc3VhbGVzIHkgcmVudGFzIGRlIHVzdWFyaW9zIHN1c2NyaXRvcyB5IG5vIHN1c2NyaXRvcy4KCiMjIyMgIDxzcGFuIHN0eWxlPSJjb2xvcjpyZWQiPlBhc28gMi48L3NwYW4+IFNlbGVjY2lvbmFyIHBsYW50aWxsYSAoLXMpIHBhcmEgY3JlYXIgdmFsb3IgYSBwYXJ0aXIgZGUgbG9zIGRhdG9zIGRlIGxvcyBjbGllbnRlcyAKIyMjIyAgVmlzacOzbiAvIHNlZ21lbnRhY2nDs24gLyBQZXJzb25hbGl6YWNpw7NuIC8gQ29udGV4dHVhbGl6YWNpw7NuIAoKIyMjIyAgTGEgcGxhbnRpbGxhIHF1ZSBzZSB1dGlsaXrDsyBlcyBsYSBkZSB2aXNpw7NuLCBlc3RhIHRlIGNvbmR1Y2UgYSBwb2RlciBnZW5lcmFyIG51ZXZvcyBtw6l0b2RvcyBlbiBjdWFudG8gYWwgY29tcG9ydGFtaWVudG8gcXVlIHB1ZWRlIHRlbmVyIHVuIGNsaWVudGUgY29udHJhc3RhZG8gY29uIGVsIGNsaW1hLCBidXNjYW5kbyBsbGVnYXIgYSBtYXlvcmVzIHZlbnRhcyBjb21vIHJlc3VsdGFkby4gCgojIyMjICA8c3BhbiBzdHlsZT0iY29sb3I6cmVkIj5QYXNvIDMuPC9zcGFuPiBHZW5lcmFyIGlkZWFzIG8gY29uY2VwdG9zIGVzcGVjw61maWNvcyAKIyMjIyAgQ2VudHJhcnNlIGVuIMOhcmVhIGRlIHZlbnRhcyB5IGFzw60gdGVuZXIgdW5hIGVzdGFiaWxpZGFkIG8gZWxpbWluYXIgbGFzIGFsdGFzIHkgYmFqYXMgZW4gZXN0YXMgdmVudGFzIGFudWFsZXMgeSBuZXV0cmFsaXphcmxhIHVuIHBvY28gbcOhcy4gIAoKIyMjIyAgPHNwYW4gc3R5bGU9ImNvbG9yOnJlZCI+UGFzbyA0Ljwvc3Bhbj4gIFJldW5pciBsb3MgZGF0b3MgcmVxdWVyaWRvcyAKIyMjIyAgQmFzZSBkZSBkYXRvcyBwcm9wb3JjaW9uYWRhIGNvbiByZWdpc3Ryb3MgZGUgdmVudGFzIHkgcmVudGFzLCBkYXRvcyBkZSBzdXNjcmlwY2nDs24geSBmaW5hbG1lbnRlIGluZm9ybWFjacOzbiBzb2JyZSBsYSB0ZW1wZXJhdHVyYSBwYXJhIHBvZGVybGEgcmVsYWNpb25hciBjb24gbGFzIG90cmFzIHZhcmlhYmxlcy4gCgojIyMjICA8c3BhbiBzdHlsZT0iY29sb3I6cmVkIj5QYXNvIDUuPC9zcGFuPiBBcXXDrSBzZSBlbmNhcmdhcmEgZWwgZXF1aXBvIGRlIE1hcmtldGluZyBlbiBjcmVhciB1bmEgZXN0cmF0ZWdpYSBwYXJhIGF1bWVudGFyIGxhcyB2ZW50YXMgZW4gbGFzIHRlbXBvcmFkYXMgYmFqYXMgeSBjb25zZXJ2YXIgbGFzIHRlbXBvcmFkYXMgYWx0YXMgZGUgZXN0YSBtYW5lcmEuCgojIyMgID9QbG90CgpgYGB7cn0KCj9wbG90CgpwbG90KGJkJHRlbXBlcmF0dXJhLGJkJHJlbnRhc190b3RhbGVzLCBtYWluPSJJbmZsdWVuY2lhIGRlIGxhIFRlbXBlcmF0dXJhIHNvYnJlIGxhcyBSZW50YXMgVG90YWxlcyIsIHhsYWI9IlRlbXBlcmF0dXJhIiwgeWxhYj0iQ2FudGlkYWQiKQoKYGBgCgojIyMgIEdlbmVyYXIgUmVncmVzacOzbiBMaW5lYWwKCmBgYHtyfQoKcmVncmVzaW9uIDwtIGxtIChyZW50YXNfdG90YWxlcyB+IGhvcmEgKyBkaWEgKyBtZXMgKyBhw7FvICsgZXN0YWNpb24gKyBkaWFfZGVfbGFfc2VtYW5hICthc3VldG8gKyB0ZW1wZXJhdHVyYSArIHNlbnNhY2lvbl90ZXJtaWNhICsgaHVtZWRhZCArIHZlbG9jaWRhZF9kZWxfdmllbnRvLCBkYXRhPWJkKQpzdW1tYXJ5IChyZWdyZXNpb24pCgpgYGAKCiMjIyAgRXZhbHVhciB5IGVuIGNhc28gbmVjZXNhcmlvIGFqdXN0YXIgbGEgcmVncmVzacOzbiBsaW5lYWwKCmBgYHtyfQoKcmVncmVzaW9uIDwtIGxtIChyZW50YXNfdG90YWxlcyB+IGhvcmEgKyBhw7FvICsgc2Vuc2FjaW9uX3Rlcm1pY2EgKyBodW1lZGFkICsgdmVsb2NpZGFkX2RlbF92aWVudG8sIGRhdGE9YmQpCnN1bW1hcnkgKHJlZ3Jlc2lvbikKCmBgYAoKIyMjICBDb25zdHJ1aXIgTW9kZWxvIFByZWRpY3Rpdm8KCmBgYHtyfQoKZGF0b3NfbnVldm9zIDwtIGRhdGEuZnJhbWUoaG9yYT0xMiwgbWVzPTEsIGHDsW89MjAxMywgc2Vuc2FjaW9uX3Rlcm1pY2E9MjQsIGh1bWVkYWQ9NjIsIHZlbG9jaWRhZF9kZWxfdmllbnRvPTEzKQpwcmVkaWN0KHJlZ3Jlc2lvbixkYXRvc19udWV2b3MpCgpgYGAKCiMgKkNvbmNsdXNpb25lcyoKClNlIHB1ZWRlIGNvbmNsdWlyIHF1ZSBncmFjaWFzIGEgbGEgcmVncmVzacOzbiBsaW5lYWwgY29uIGxhIGN1YWwgc2UgY29uc3RydXlvIG1lZGlhbnRlIGxhIGZ1bmNpw7NuICJsbSIgcG9kZW1vcyBvYnRlbmVyIG1vZGVsb3MgbGluZWFsZXMsIHNlIGFuYWxpesOzIGN1w6FsIGVyYSBlbCBmYWN0b3IgcXVlIG3DoXMgYWZlY3RhYmEgYSBsYSByZW50YSBkZSBiaWNpY2xldGFzIHkgc2UgbGxlZ28gYSBsYSBjb25jbHVzacOzbiBkZSBxdWUgbGEgdGVtcGVyYXR1cmEgZXMgdW4gZmFjdG9yIGNvbiBncmFuIGltcG9ydGFuY2lhIGVuIGVzdGUgYXNwZWN0by4gR3JhY2lhcyBhIGxhIHJlZ3Jlc2nDs24gbGluZWFsIHNlIG9idHV2byBjb21vIHJlc3VsdGFkbyBxdWUgYWRlbcOhcyBkZSBsYSB0ZW1wZXJhdHVyYSBhZmVjdGFuIG90cm9zIHZhbG9yZXMgY29tbyBlbCBtZXMsIGTDrWEgeSBob3JhLCBkw6FuZG9ub3MgdW4gcGFub3JhbWEgbXVjaG8gbcOhcyBhbXBsaW8gcGFyYSBsYSB0b21hIGRlIGRlY2lzaW9uZXMgeSBhdGFjYXIgZXNhcyB0ZW1wb3JhZGFzIGJhamFzLiAKCgo=