X

Privacidad & Cookies

Este sitio utiliza cookies. Al continuar, usted acepta su uso. Obtenga más información, incluido cómo controlar las cookies.

¡Lo tengo!

Anuncios

Nota 1: Esta es la Parte 1 de una publicación de dos partes sobre la construcción de equipos de la liga de fantasía. Lea esto primero y luego lea la Parte 2 aquí.

Nota 2: Aunque el título dice «Fantasy Football», el modelo que describo a continuación puede, en principio, modificarse para adaptarse a cualquier liga de fantasía para cualquier deporte.

football Varias personas (algunos estudiantes, algunos amigos) se me han acercado recientemente para crear equipos óptimos para ligas de fútbol de fantasía. Con el reciente aumento de sitios de apuestas como Fan Duel y Draft Kings, esto se ha convertido en un multimillonario (¿o debería decir, mil millones?) industria del dólar. Así que pensé en escribir una receta sencilla para ayudar a todos. Estamos a punto de usar Análisis prescriptivos para apostar en deportes. ¿Estás lista? ¡Hagámoslo! Comenzaré con el modelo matemático y luego le mostraré cómo hacer que todo funcione usando una hoja de cálculo.

Las Reglas

Las reglas del equipo de fútbol de fantasía establecen que un equipo debe consistir en:

  • 1 quarterback (QB)
  • 2 running backs (RB)
  • 3 wide receivers (WR)
  • 1 tight end (TE)
  • 1 kicker
  • 1 defensa

Algunas ligas también tienen lo que se llama un «jugador flexible», que podría ser un RB, WR, o TE. Explicaré cómo manejar el reproductor flex a continuación. Además, los jugadores tienen un costo y la persona que crea el equipo tiene un presupuesto, llámelo B, para cumplir (generalmente B es de 5 50,000 o 6 60,000).

Los Datos

Para cada jugador i, se nos da el costo mencionado anteriormente, lo llamamos c_i y una proyección de puntos p_i. Esta última es una estimación de cuántos puntos esperamos que el jugador anote en una semana o juego dados. Cuando se trata de la defensa, aunque no siempre anota, también hay una forma de calcular los puntos para ella (por ejemplo, los puntos impedidos). ¿Cómo se calculan estas proyecciones de puntos? Aquí es donde entran en juego los análisis predictivos. Es esencialmente un pronóstico. Observas el rendimiento pasado / reciente, observas al próximo oponente, observas la salud de los jugadores, etc. Hay sitios web que le proporcionan estas proyecciones, o puede calcular las suyas propias. Cuanto más preciso sea en estas predicciones, más probabilidades tendrá de sacar provecho de las apuestas. Aquí, tomaremos estos números como dados.

El modelo de optimización

Las principales decisiones a tomar son simples: ¿qué jugadores deben estar en nuestro equipo? Esto se puede modelar como una variable de decisión sí / no para cada jugador. Así que vamos a crear una variable binaria llamada x_i que solo puede tomar dos valores: es igual al valor 1 cuando el jugador i está en nuestro equipo, y es igual al valor cero cuando el jugador i no está en nuestro equipo. El valor de i (el ID de jugador) oscila entre 1 y el número total de jugadores disponibles para nosotros.

Nuestro objetivo es crear un equipo con el mayor valor agregado posible de puntos proyectados. Es decir, queremos maximizar la suma de proyecciones de puntos de todos los jugadores que incluimos en el equipo. Esta fórmula se ve así:

\max \displaystyle \sum_{\text{all } i} p_i x_i

La fórmula anterior funciona porque cuando un jugador está en el equipo (x_i=1), su p_i se multiplica por uno y se agrega a la suma, y cuando un jugador no está en el equipo (x_i=0) su p_i se multiplica por cero y no se añade a la suma final. El mecanismo que acabo de describir es la idea principal detrás de lo que hace que todas las fórmulas de este modelo funcionen. Por ejemplo, si las predicciones de puntos para los primeros 3 jugadores son 12, 20 y 10, la función de maximización comienza como:  \max 12x_1 + 20x_2 + 10x_3 + \cdots

La restricción de presupuesto se puede escribir diciendo que la suma de los costos de todos los jugadores de nuestro equipo debe ser menor o igual a nuestro presupuesto B, de esta manera:

\displaystyle \sum_ {\text{all} i} c_i x_i \ leq B

Por ejemplo, si los primeros 3 jugadores cuestan 9000, 8500 y 11000, y nuestro presupuesto es de 60,000, la fórmula anterior se vería así:  9000x_1 + 8500x_2 + 11000x_3 + \ cdots \ leq 60000.

Para que el equipo tenga el número correcto de jugadores en cada posición, lo hacemos posición por posición. Por ejemplo, para requerir que el equipo tenga un mariscal de campo, escribimos:

\displaystyle \sum_ {\text{todos} i \ text{ que son quarterbacks}} x_i = 1

Para requerir que el equipo tenga dos corredores y tres receptores anchos, escribimos:

\displaystyle \sum_{\text{todos } i \text{ que se ejecutan respaldos}} x_i = 2

\displaystyle \sum_{\text{todos } i \text{ que son distintos receptores}} x_i = 3

Las restricciones para el resto de las posiciones sería:

\displaystyle \sum_{\text{todos } i \text{ que son apretados extremos}} x_i = 1

\displaystyle \sum_{\text{todos } i \text{ que son kickers}} x_i = 1

\displaystyle \sum_{\text{todos } i \text{ que son defensas}} x_i = 1

El Curioso Caso de la Flex Jugador

El flex jugador agrega un toque interesante a este modelo. Es un jugador que, si entiendo correctamente, toma el lugar del pateador (lo que significa que no tendríamos la restricción del pateador anterior) y puede ser un RB, WR o TE. Por lo tanto, de inmediato, tenemos que tomar una nueva decisión: ¿qué tipo de jugador debe ser el flex? Vamos a crear tres nuevas variables sí / no para representar esta decisión:  f_ {\text{RB}},  f_ {\text{WR}}, y f_{\text{TE}}. Estas variables significan, respectivamente: ¿es el flex RB?, es el flex WR?, y es el flex TE? Para indicar que solo una de estas cosas puede ser verdadera, escribimos la restricción a continuación:

 f_ {\text{RB}} + f_ {\text{WR}} + f_{\text{TE}} = 1

Además, tener un reproductor flex equivale a aumentar el lado derecho de las restricciones que cuentan el número de RB, WR y TE por uno, pero solo para una de esas restricciones. Lo logramos cambiando estas restricciones del formato anterior al siguiente:

\displaystyle \sum_ {\text{todos} i \text{ que son corredores}} x_i = 2 + f_ {\text{RB}}

\displaystyle \sum_ {\text{all } i \text{ que son receptores anchos}} x_i = 3 + f_ {\text{WR}}

\displaystyle \sum_ {\text{all } i \ text{ que son extremos estrechos}} x_i = 1 + f_ {\text{TE}}

Tenga en cuenta que debido a que solo una de las variables f puede ser igual a 1, solo una de las tres restricciones anteriores tendrá su lado derecho aumentado desde su valor original de 2, 3 o 1.

Otros requisitos potenciales

Debido a preferencias personales, información privilegiada u otras consideraciones esotéricas, es posible que desee incluir otros requisitos en este modelo. Por ejemplo, si quiero el mejor equipo que incluya al jugador número 8 y excluya al jugador número 22, simplemente tengo que forzar que la variable x del jugador 8 sea 1, y la variable x del jugador 22 sea cero. Otra restricción que puede ser útil es decir que si el jugador 9 está en el equipo, entonces el jugador 10 también tiene que estar en el equipo. Esto se logra mediante:

 x_9 \leq x_{10}

Si quisieras lo contrario, es decir, si el jugador 9 está en el equipo, entonces el jugador 10 NO está en el equipo, escribirías:

x_9 + x_{10} \leq 1

Otras condiciones a lo largo de estas líneas también son posibles.

Juntándolo todo

Si tuvieras la paciencia suficiente para seguir conmigo hasta aquí, estás ansioso por poner en práctica esta matemática. Hagámoslo usando Microsoft Excel. Comience descargando esta hoja de cálculo y abriéndola en su computadora. Esto es lo que contiene:

  • Columna A: lista de nombres de jugadores.
  • Columna B: sí / no decisiones sobre si un jugador está en el equipo (estas son las variables x que el solucionador de Excel calculará para nosotros).
  • Columnas C a H: banderas que indican si un jugador es de un tipo determinado (0 = no, 1 = sí).
  • Columnas I y J: las proyecciones de costes y puntos para cada jugador.

Ahora desplácese hacia abajo para que pueda ver las filas 144 a 150. Las celdas de la columna B están actualmente vacías porque aún no hemos elegido qué jugadores añadir al equipo. Pero si esas elecciones se hubieran hecho (es decir, si hubiéramos llenado la columna B con 0 y 1), multiplicar la columna B con la columna C de una manera celular y sumarla, le diría cuántos mariscales de campo tiene. He incluido esta multiplicación en la celda C144 usando la fórmula SUMPRODUCT. De manera similar, las celdas D144:H144 calculan cuántos jugadores de cada tipo tendríamos una vez que las celdas de la columna B reciban valores. Los cálculos del costo total del equipo y el total de puntos proyectados para el equipo son análogos a los cálculos anteriores y también utilizan la fórmula SUMPRODUCT (véanse las celdas I144 y J144). Puedes intentar elegir algunos jugadores a mano (poniendo 1 en algunas celdas de la columna B) para ver cómo cambiarán los valores de las celdas de la fila 144.

Si ahora abre la ventana Solucionador de Excel (en la pestaña Datos, si su complemento Solucionador está activo), verá que ya tengo todo el modelo configurado para usted. Si nunca ha usado el solucionador de Excel antes, el siguiente video de dos partes lo ayudará a comenzar con él: parte 1 y parte 2.

La celda del objetivo es J144, y eso es lo que queremos maximizar. Las variables (también conocidas como celdas cambiantes) son las selecciones de reproductores en la columna B, más las decisiones de tipo de reproductor flexible (celdas D147:F147). Las restricciones dicen que: (1) el número real de jugadores de cada tipo (C144:H144) es igual al número deseado de cada tipo (C146:H146), (2) el costo total del equipo (I144) no excede el presupuesto (I146), (3) las tres variables binarias de jugador flexible suman 1 (D150 = F150), y, (4) todas las variables en el problema son binarias. (Establecí el número requerido de kickers en la celda G146 a cero porque estamos utilizando la opción de reproductor flexible. Si puede tener un reproductor flexible y un pateador, simplemente escriba un 1 en la celda G146.) Si hace clic en el botón» Resolver», verá que la mejor respuesta es un equipo que cuesta exactamente 5 50,000 y tiene un valor total de puntos proyectado de 78.3. Su reproductor flex terminó siendo un RB.

Este modelo es lo suficientemente pequeño como para poder resolverlo con la versión gratuita para estudiantes de Excel Solver (que viene por defecto con cualquier instalación de Office). Si tienes más jugadores y el número total de variables supera los 200, el solucionador gratuito no funcionará. ¡Pero no te desesperes! Existe un gran complemento de solucionador para Excel que también es gratuito y no tiene límite de tamaño. Se llama OpenSolver, y funcionará exactamente con la misma configuración que tengo aquí.

Articles

Deja una respuesta

Tu dirección de correo electrónico no será publicada.