Contexto

En un centro de soporte técnico de una empresa de software, llegan solicitudes de usuarios que deben ser atendidas por ingenieros de sistemas.
Se quiere modelar el proceso de llegada y atención de solicitudes con distribuciones de probabilidad, y simular el sistema con R.


1. Llegadas de solicitudes

Suponga que, en promedio, llegan 5 solicitudes por hora al sistema.

set.seed(2310) #semilla


# a) Generar 5000 valores aleatorios

llegadas <- rpois(5000, lambda = 5)
head(llegadas,500)
##   [1]  6  4  4  5  3  7 10  8  8 10  4  4  5  6  6  3  3  3  5  2  5  4  4  3  5
##  [26]  5  7  3  2  6  8  3  9  8  4  3  3  6  6  5  9  4  6  6  6  8  7  4  7  4
##  [51]  6  3  9  6  6  4  5  8  5  2  7  4  5  2  2  2  6  3  3  5  6  3  5  5  5
##  [76]  6  7  5  6 10  5  8  5  5  2  0  8  5  5  4  3 12  5  8  6  9  3  3  4  3
## [101]  5  8  1  2  5  2  3  4  6  5  4  8  4  2  3  9  4  8  5  5  5  3  6  6  5
## [126]  2  3  5  5  4  1  4  6  4  4  9  2  1  6  5  8  5  4  6  7  2  4  7  2  8
## [151]  6 10  4  1  3  6  4  4  0  3  1 11 11  3  6  6  2  4  4  4  4  3  8  3  6
## [176]  6  4  7  1  7  8  3  4  7  7  4  3  6 11  8  3  7  5  4  3  3  6  5  4  5
## [201]  3  7  7  5  8  3  3  7  8  9  3  3  6  5  5  6  6  5  5  6  3  4  8  1  9
## [226]  4  9  4  6  5  6  6  3  3  8  3  6  3  2  7  6  3  4  3  5  7  6  5 10  5
## [251]  7  8  5  3  6  4  2  3  7  3  7  8  7  3  8  5  5 12  4  4  7  2  6  3  2
## [276]  4  4  7  8  0  5  9  5  7  4  4  5  6  7  4  8  4  4  5  2  5  2  3  3  4
## [301]  2  4  3  2  5  2  6  6  2  8  3 10  6  9  4  3  8  1  5  5  9 10  4  5  5
## [326]  5  6  6  2  2  6  7  3  4  5  6  5  5  2  1  7  7  4  6  3  1  5  6  3  3
## [351]  5  5  5  3  8  5  4  2  7  5  7  4  6  6  3  4  7  5  7  0  4  5  5  8  8
## [376]  7  3  7 10  4  6  2  6  4  5  5  6  2  3  3  7  3  6  5  5  2  5  6  5  3
## [401]  4  6  7  2  3  5  5  5  5  5  9  2  3  5  9  6  5  3 11  8  3  6  4  3  5
## [426]  3  6  7  4  2  4  9 10  3  4  4  7  6  4  4  4  5  5  1  3  1  3  5  2  6
## [451]  4  7  8  3  4  4  3  5  3  3  5  4  4  7  5  3  6  5  4  1  5  7  5  7  5
## [476]  7  5  6  2  5  2  5  3  6  7  3  9  4  5  6  5  7  6  1  2  4  7  5  6  3
# b) Interpretación estadística
mean(llegadas)  # promedio de solicitudes
## [1] 4.9492
var(llegadas)   # varianza
## [1] 5.209261
# c) Gráfico de barras
tab_frec <- table(llegadas)
barplot(tab_frec, col="skyblue", main="Llegadas por hora",
        xlab="Número de solicitudes", ylab="Frecuencia")

# d) Probabilidad empírica de menos de 3 solicitudes
prob_menos_3 <- mean(llegadas < 3)
prob_menos_3
## [1] 0.131

2.Tiempos entre llegadas

El tiempo entre llegadas de solicitudes sigue una Exponencial con media 12 minutos.

# a) Generar 5000 tiempos
tiempos <- rexp(5000, rate = 1/12)
head(tiempos,100)
##   [1]  9.334040648  8.929903294 18.378746378 39.269215194  4.518699160
##   [6] 25.143433208 32.547644755 26.272086671 31.949269807  7.696207171
##  [11]  5.087432463 19.908255412  3.278820986 50.002636892  1.045564955
##  [16] 20.534556894  2.232652533  1.286390498  0.825876530  4.334572270
##  [21]  4.146721976  1.600378375 26.370344542  8.668837612  2.820029547
##  [26]  1.797263710  1.541751416  4.020759752  1.488733660  1.122040356
##  [31]  8.840064174  9.058143274  2.913420842  4.311810443 17.848948940
##  [36]  0.006056509  5.871726053 26.568654543 26.775545830  4.101421118
##  [41]  2.032099038  1.592297248 27.173779762  5.747096008  2.553837866
##  [46]  5.972779022  5.129684846  0.190927958  5.309253998 30.401815942
##  [51]  6.304059628  0.379558375  4.201723230 17.609464265 25.960528648
##  [56] 17.676428730  7.471416168 11.903833184 14.455531384  1.126345435
##  [61] 23.505680702  8.922107934 17.848334267  9.111637604  4.192041637
##  [66] 21.341523083 20.243245325 27.583960019  1.951827535 28.077459386
##  [71]  6.527837708  1.685009284  7.928991616  1.504847562  7.474796366
##  [76]  7.924350495  4.279498190  8.873181479  3.888312632  7.064367224
##  [81] 23.177663681 23.656554869 15.166940409  0.156340554  1.109991912
##  [86]  1.078079128 11.936223822  2.011267730  1.965882799 10.004501882
##  [91] 16.909118632 13.604211777  3.288305383  9.862723007 28.857225558
##  [96] 34.517025104  5.455042887 15.395168680  4.189926608  8.609193183
# b) Histograma
hist(tiempos, breaks=40, col="lightgreen", main="Tiempos entre llegadas",
     xlab="Minutos", probability = TRUE)
curve(dexp(x, rate=1/12), col="red", lwd=2, add=TRUE)

3.Duración de la atención

Cada ingeniero tarda en promedio 30 minutos en resolver un ticket, con una desviación estándar de 5 minutos. Esto se modela con una Normal.

# a) Simulación
atencion <- rnorm(5000, mean=30, sd=5)
head(atencion,250)
##   [1] 35.25804 28.18335 21.74262 30.84582 18.51402 28.23886 38.68617 34.23408
##   [9] 32.76068 29.13146 28.20949 28.11201 24.51578 28.48590 27.22320 29.08654
##  [17] 22.11503 28.32735 26.90265 30.80021 29.53093 31.46747 29.63084 27.72136
##  [25] 33.11976 27.67296 29.99655 29.34457 28.70796 33.85606 28.42947 28.94566
##  [33] 33.86883 27.35129 32.63806 35.32152 28.67981 39.58807 34.28738 26.27296
##  [41] 27.30585 34.09744 20.41251 38.79660 30.61443 26.43063 29.33579 26.92376
##  [49] 23.17022 41.95775 31.30755 29.52318 21.75245 30.76564 36.05315 22.88915
##  [57] 31.98153 29.16357 33.59284 31.46081 29.94504 35.62513 29.99170 30.79700
##  [65] 25.99111 36.13547 29.02841 40.02682 37.92018 30.71551 32.15221 28.15527
##  [73] 34.99772 31.66303 35.92018 28.66544 32.70966 27.78829 30.61415 26.60079
##  [81] 23.31036 29.37827 36.31119 37.31309 39.28184 32.84492 27.82725 31.32977
##  [89] 30.88351 37.87051 30.65378 34.09802 27.97084 32.71335 28.88064 29.58651
##  [97] 27.62093 35.12535 38.58373 23.71803 27.20747 21.24035 33.58998 26.08626
## [105] 30.76125 22.02005 28.68438 28.30079 29.89976 33.47686 34.92580 37.72518
## [113] 24.85444 33.19841 26.02785 28.50478 33.49031 31.63853 31.34850 31.27680
## [121] 36.25280 25.05781 34.98551 39.49790 27.39904 29.03096 21.40979 19.67446
## [129] 32.07801 42.12049 28.73392 30.71970 33.73877 36.56763 27.05382 32.94678
## [137] 21.80731 27.51314 29.55532 26.93576 30.77362 34.13844 29.22940 35.28648
## [145] 26.80947 31.40287 21.53664 18.26430 33.98907 33.05339 19.29650 27.08456
## [153] 34.09846 37.26440 35.08403 25.24716 23.45759 32.98942 29.35330 43.14243
## [161] 31.54958 33.40354 36.37351 33.49125 30.45377 23.46182 26.10833 28.38570
## [169] 30.18752 24.29040 29.72019 28.19164 36.50278 31.04204 25.42373 35.40193
## [177] 31.26651 35.64406 30.10445 23.00155 24.41737 33.44128 26.32004 23.10988
## [185] 41.82627 25.54126 28.54505 27.32243 19.21478 31.95289 33.08771 37.92630
## [193] 29.01499 26.80829 35.65004 30.31531 34.88574 28.09590 28.22697 29.40750
## [201] 36.09793 23.38259 28.79452 37.95113 32.10677 37.08264 31.55350 23.66067
## [209] 18.76171 32.73104 34.40103 38.17858 31.65144 27.81208 30.08697 24.14317
## [217] 35.87916 33.24582 28.56690 28.50506 31.91617 32.86311 28.17397 19.05899
## [225] 33.11109 25.89052 34.98805 30.04481 21.34554 29.31777 24.92143 34.50877
## [233] 22.99904 30.32944 31.29922 34.52461 24.04924 26.12567 23.01022 39.14003
## [241] 33.83441 31.32723 27.03264 33.50609 31.16788 28.40386 28.75084 27.70255
## [249] 23.77490 23.45440
# b) Histograma + curva normal
hist(atencion, breaks=40, probability=TRUE, col="lightblue",
     main="Duración de la atención", xlab="Minutos")
curve(dnorm(x, mean=30, sd=5), col="red", lwd=2, add=TRUE)

# c) Proporción de atenciones > 35 minutos
prop_mayor_35 <- mean(atencion > 35)
prop_mayor_35
## [1] 0.1564

4.Tickets escalados a segundo nivel

El 20% de los tickets requieren ser escalados. Suponga que en una hora se reciben 10 tickets.

# a) Simulación de 1000 horas
escalados <- rbinom(1000, size=10, prob=0.2)
head(escalados,500)
##   [1] 4 0 6 4 2 3 2 1 1 0 2 0 6 4 1 3 5 2 2 3 3 3 3 2 2 3 1 1 1 4 0 4 0 0 4 3 4
##  [38] 2 1 2 3 2 0 2 2 0 1 3 1 1 2 2 0 2 1 1 1 1 2 0 1 4 1 2 4 2 4 2 5 2 3 3 2 1
##  [75] 0 1 2 2 2 2 1 3 1 1 1 0 2 1 1 5 1 2 2 5 1 2 2 3 2 2 2 1 1 0 2 3 2 2 5 0 2
## [112] 4 2 1 2 2 1 4 1 1 3 3 1 3 1 1 2 1 1 2 5 2 2 0 4 2 2 4 2 0 4 4 0 1 2 1 3 2
## [149] 1 3 2 2 3 2 0 2 1 3 1 2 2 2 1 0 2 3 1 4 1 4 2 2 3 2 1 4 4 1 1 2 2 1 2 1 2
## [186] 3 1 1 4 2 3 1 4 1 2 1 3 4 3 2 0 0 1 2 1 3 1 2 2 1 0 2 4 2 1 2 4 1 2 1 2 0
## [223] 1 2 1 4 4 2 3 0 2 1 3 1 5 3 1 2 0 2 0 3 1 1 1 2 0 0 3 0 2 0 3 4 2 1 1 3 2
## [260] 2 1 1 3 1 2 1 3 2 3 0 3 4 4 3 2 2 2 1 3 1 2 2 2 0 0 0 2 2 2 3 2 3 2 4 5 0
## [297] 3 2 3 2 1 2 3 6 0 2 2 1 2 0 1 1 2 1 0 2 2 2 1 3 1 1 2 3 1 3 5 0 4 1 0 3 2
## [334] 2 1 2 4 3 2 1 3 3 1 2 2 2 1 4 4 2 0 0 4 0 4 2 0 3 1 3 2 1 1 3 2 1 1 2 2 2
## [371] 3 3 2 2 4 3 2 2 2 2 2 1 1 2 2 4 1 1 3 1 2 2 3 1 3 2 5 2 4 2 4 2 5 2 2 2 0
## [408] 0 1 4 3 3 2 0 1 2 1 4 1 2 1 1 2 5 1 3 1 0 3 5 4 2 1 3 1 2 1 1 1 0 1 0 2 1
## [445] 0 4 1 0 1 3 2 3 2 3 1 1 1 3 0 1 1 2 2 2 2 3 1 3 3 5 2 3 2 2 0 2 1 4 3 0 2
## [482] 3 2 2 1 1 4 4 1 2 0 3 2 3 2 0 2 2 1 2
# b) Conteo
tab_escalados <- table(escalados)

# c) Gráfico
barplot(tab_escalados, col="orange", main="Tickets escalados en 1000 horas",
        xlab="Número de tickets escalados", ylab="Frecuencia")

Conclusiones

Poisson modela el número de solicitudes que llegan por hora.

Exponencial describe los tiempos entre llegadas (útil en teoría de colas).

Normal representa la duración del servicio de un ingeniero.

Binomial refleja la probabilidad de escalar un ticket al segundo nivel.

Estas simulaciones permiten comprender el comportamiento del sistema y son base para análisis más complejos en teoría de colas y simulación de procesos.

Resultados

  1. Llegadas de solicitudes (Poisson, λ=5)

Se observa que el número promedio de solicitudes por hora está muy cercano a 5, confirmando la coherencia con la distribución de Poisson.

La dispersión (varianza) es similar a la media, lo cual es característico de este modelo.

El gráfico muestra que la mayoría de horas tienen entre 3 y 7 solicitudes.

La probabilidad empírica de que lleguen menos de 3 solicitudes es baja, lo que indica que es poco frecuente tener tan pocas llegadas.

  1. Tiempos entre llegadas (Exponencial, media = 12 minutos)

El histograma refleja que la mayoría de los tiempos entre llegadas son cortos (cercanos a 0-10 min).

Sin embargo, aparece una cola larga que representa la posibilidad de esperas más largas.

Esto es típico de la distribución exponencial: muchos eventos ocurren pronto, pero ocasionalmente hay intervalos largos.

  1. Duración de la atención (Normal, media = 30 min, sd = 5 min)

La distribución de tiempos de atención es aproximadamente simétrica y en forma de campana alrededor de los 30 minutos.

La mayor parte de los casos se concentran entre 25 y 35 minutos, lo cual es coherente con la desviación estándar de 5.

La proporción de atenciones que duran más de 35 minutos es alrededor del 15-20%, lo que significa que no es raro que algunos tickets requieran más tiempo del esperado.

  1. Tickets escalados a segundo nivel (Binomial, n=10, p=0.2)

De cada 10 tickets, en promedio 2 requieren ser escalados.

La distribución binomial muestra que lo más común es que en una hora se escalen entre 1 y 3 tickets.

Casos extremos como 0 o más de 5 escalados en una hora son poco frecuentes.