Sinergia en clics: dividendos de Harsanyi para el comercio electrónico

Descargo de responsabilidad: los datos presentados en este artículo son completamente sintéticos y puramente hipotéticos. Fue generado únicamente con fines ilustrativos y educativos. Cualquier parecido con datos, individuos u organizaciones del mundo real es pura coincidencia.

¿Alguna vez has jugado un juego o deporte cooperativo? Consideremos otro ejemplo, pero esta vez en el mundo profesional. Supongamos que usted es parte de una organización cuyo principal medio para impulsar las ventas de productos es a través de su sitio de comercio electrónico. Dentro de esta organización, es probable que tenga varios equipos de marketing que dirigen a los clientes al sitio web a través de anuncios en línea, campañas de correo electrónico y otros canales. El sitio web en sí lo mantiene otro conjunto de equipos cuyas responsabilidades incluyen diseño, comercialización, estrategias de recomendación y muchas más. La organización también debe considerar el producto en sí y los equipos que crean, mejoran y desarrollan nuevos productos. Esto plantea una pregunta importante para la organización:

¿Cómo se puede atribuir valor adecuadamente para que se puedan tomar decisiones más estratégicas en el futuro?

Si esa pregunta no era ya bastante difícil de responder, debemos considerar un punto de vista más realista. Todos estos equipos dentro de la empresa dependen unos de otros para realizar una venta. Los equipos de producto necesitan una forma de vender los productos. La organización dispone de una página web para facilitarlo. Para que el sitio web realice una venta, necesita clientes; ahí es donde los equipos de marketing deben crear, lanzar y mantener campañas que dirijan tráfico al sitio web. Al reconocer las dependencias entrelazadas entre los equipos de la organización, la empresa debe comprender el valor en términos de coaliciones de equipos . Aquí es donde entran en juego los dividendos de Harsanyi.

Dividendos de Harsanyi

Los dividendos de Harsanyi, un concepto de la teoría de juegos cooperativos, miden el exceso de valor de las coaliciones en un juego cooperativo. La clave aquí es el exceso de valor. Un juego cooperativo es un concepto de la teoría de juegos, el estudio de cómo los participantes interactúan en un juego o actividad con un objetivo compartido.

Hagamos una visión general de la teoría de juegos cooperativos, específicamente de los juegos cooperativos de utilidad transferible (TU). En la teoría de juegos cooperativos TU, los jugadores pueden formar coaliciones para lograr una recompensa colectiva de una manera acordada. Para aquellos de nosotros que hemos construido modelos predictivos robustos usando marcos como XGBoost u otros métodos de conjunto, probablemente nos hayamos encontrado usando valores de Shapley para comprender la contribución de cada característica, ya que el modelo en sí es una caja negra. Los valores de Shapley también se pueden utilizar para determinar la recompensa de cada jugador en una coalición en juegos cooperativos TU. Ciertamente, un marco como los valores de Shapley tiene mucho valor para comprender las contribuciones individuales; sin embargo, los dividendos de Harsanyi nos ayudan a conocer el valor adicional que generan las coaliciones. Veamos un ejemplo hipotético.

Un juego cooperativo: Dragon Slayer

Digamos que tres amigos se reúnen para jugar un nuevo videojuego cooperativo donde el objetivo es trabajar juntos para infligir el mayor daño posible a un dragón. Los jugadores son Andrew, Bryan y Carson. Han jugado a este juego muchas veces; sin embargo, no todos los jugadores juegan juntos siempre. A veces, son solo Andrew y Carson, Carson y Bryan, Carson solo, etc. Han jugado tanto a este juego que todos los subconjuntos posibles del grupo lo han jugado muchas veces, incluidas sesiones con un solo jugador.

Carson, un científico de datos de profesión, quiere obtener una comprensión más profunda del desempeño del grupo. Reunió los puntajes de cada sesión y finalmente obtuvo un puntaje promedio para cada coalición e individuo. Eche un vistazo a estas puntuaciones agregadas a continuación. Cada jugador estará representado por su primera inicial. Representaremos la puntuación promedio de cada coalición/individuo con v(n).

v(a) = 10

v(b) = 12

v(c) = 18

v(a,b) = 27

v(a,c) = 23

v(c,b) = 29

v(a,b,c) = 37

Podemos ver claramente que Carson es el mejor jugador individual, mientras que Andrew y Bryan son el mejor dúo. Probablemente no le sorprenda que la coalición de tres jugadores obtenga la puntuación más alta. Carson, el curioso científico de datos, quiere estudiar con mayor profundidad estas interacciones entre sus amigos. Para ello, decide calcular los dividendos de Harsanyi para ver qué grupo colaboró ​​de forma más eficaz. Esta es una pregunta complicada. Podemos ver fácilmente las puntuaciones de cada coalición; sin embargo, ¿qué pasaría si ajustáramos lo que los jugadores individuales ya contribuyeron? Podemos descubrir qué coaliciones se potencian entre sí o actúan en detrimento de lo que ya aportan las coaliciones más pequeñas de jugadores. En otras palabras, ¿dónde 1+1 es igual a algo más que dos y dónde 1+1 es igual a algo menos de dos?

Para lograr esto, usaremos la siguiente fórmula:

Imagen proporcionada por el autor.

Analicémoslo pieza por pieza.

Imagen proporcionada por el autor.

Esto representa el dividendo Harsanyi para la coalición S.

Imagen proporcionada por el autor.

El símbolo Sigma se utiliza en matemáticas para demostrar cómo se toma la suma de una serie de términos en forma compacta. Justo debajo se muestra la expresión de los términos sobre los que estamos sumando. En este caso, se lee explícitamente T subconjunto S. T es un subconjunto de la coalición S, que es la coalición para la cual estamos calculando el dividendo. En combinación con Sigma, esto demuestra que estamos tomando la suma de todos los subconjuntos posibles de S de una manera específica que discutiremos a continuación. Una nota final sobre esta parte: la propia coalición se considera un subconjunto.

Imagen proporcionada por el autor.

Los símbolos de tubería alrededor de S y T indican que estamos viendo los tamaños de los conjuntos. El resultado de estas diferencias es la potencia a la que elevamos el uno negativo en cada suma. Luego, se multiplica por el valor del subconjunto T.

Calcular los dividendos – Individuos

Comencemos con los jugadores individuales (Andrew, Bryan y Carson), ya que será lo más sencillo. Para mayor comodidad, aquí están sus puntajes agregados individuales mencionados anteriormente:

v(a) = 10

v(b) = 12

v(c) = 18

¿Puedes adivinar cuáles son sus dividendos Harsanyi? Comencemos con Andrew y calculémoslo paso a paso (o simplemente paso).

Imagen proporcionada por el autor.

Para cada parte de la suma, necesitamos el valor del subconjunto y su tamaño. Para los jugadores individuales, eso nos deja con un solo subconjunto (en sí mismo), por lo que solo tenemos que recorrer el ciclo una vez.

Comenzando con el exponente, el tamaño del conjunto a es solo uno. T también será de talla uno. Esto nos deja elevando -1 a la potencia 0, lo que da 1. Luego lo multiplicamos por nuestro valor de a, que es 10, lo que produce un dividendo Harsanyi de 10 para Andrew. Para los individuos, el dividendo es sólo el valor.

Dividendo (a) = 10

Dividendo (b) = 12

Dividendo (c) = 18

Calcular los dividendos: pares

Calculemos los dividendos de Andrew y Bryan (a, b). Los subconjuntos son (a,b), (a) y (b). Por tanto, tendremos tres sumas.

Suma #1, Subconjunto (a), v(a) = 10, tamaño de (a) = 1,

-1^([a,b]-[a]) * v(a) = -1^(2-1) * 10 = -10

Suma #2, Subconjunto (b), v(b) = 12, tamaño de (b) = 1,

-1^([a,b]-[b]) * v(b) = -1^(2-1) * 12 = -12

Suma #3, Subconjunto (a,b), v(a,b) = 27, tamaño de (a,b) = 2,

-1^([a,b]-[a,b]) * v(a,b) = -1^(2-2) * 27 = 27

Súmelos todos y obtenemos:

Dividendo (a,b) = 5

Hagamos una pausa aquí para analizar algunas intuiciones rápidas detrás del cálculo de los dividendos de Harsanyi para pares. En pocas palabras, el dividendo es simplemente el valor del par menos los valores de los individuos del par. En otras palabras, muestra si la pareja genera un excedente de valor o pierde valor cuando trabajan juntos. En este ejemplo, Andrew y Bryan demuestran que jugaron juntos de manera más eficiente. Eche un vistazo a los dividendos de los pares restantes. ¿Qué ideas podemos extraer? Lo primero que me viene a la mente es que Carson probablemente no sea el mejor compañero de equipo, al menos cuando está en pareja. Veamos cómo cambian las cosas cuando miramos al trío.

Dividendo (a,c) = -5

Dividendo (c,b) = -1

Calcular los dividendos: tríos

Abróchate el cinturón, aquí hay muchas sumas; sin embargo, es esencial comprender qué valores se suman y qué valores se restan en el cálculo del trío.

Suma #1, Subconjunto (a), v(a) = 10, tamaño de (a) = 1 -1^([a,b,c]-[a]) * v(a) = -1^(3-1) * 10 = 10 Suma #2, Subconjunto (b), v(b) = 12, tamaño de (b) = 1 -1^([a,b,c]-[b]) * v(b) = -1^(3-1) * 12 = 12 Suma #3, Subconjunto (c), v(c) = 18, tamaño de (c) = 1 -1^([a,b,c]-[c]) * v(c) = -1^(3-1) * 18 = 18 Suma #4, Subconjunto (a,c), v(ab) = 27, tamaño de (a,b) = 2 -1^([a,b,c]-[a,b]) * v(a,b) = -1^(3-2) * 27 = -27 Suma #5, Subconjunto (a,c), v(a,c) = 23, tamaño de (a,c) = 2 -1^([a,b,c]-[a,c]) * v(a,c) = -1^(3-2) * 23 = -23 Suma #6, Subconjunto (c,b), v(c,b) = 29, tamaño de (c,b) = 2 -1^([a,b,c]-[c,b]) * v(c,b) = -1^(3-2) * 29 = -29 Suma #7, Subconjunto (a,b,c), v(a,b,c) = 37, tamaño de (a,b,c) = 3 -1^([a,b,c]-[a,b,c]) * v(a,b,c) = -1^(3-3) * 37 = 37

Dividendo (a,b,c) = -2

Ciertamente hay muchas matemáticas, pero es sencillo. ¿Qué pasa con la intuición detrás de lo que está sucediendo? Como acaba de ver, calcular los dividendos para coaliciones de uno y dos jugadores es bastante sencillo de ejecutar sin la fórmula; sin embargo, una vez que llegas a coaliciones de tres jugadores o más, los pasos aumentan exponencialmente. Con la coalición de tres jugadores específicamente, es fácil ver que los valores de la coalición de dos jugadores se restan, mientras que los valores de la coalición de un jugador se vuelven a sumar. ¿Qué pasa con las coaliciones de cuatro jugadores? Se restarían tres coaliciones de jugadores, se volverían a agregar dos, se restarían los individuales, etc. Puedes extrapolar fácilmente el patrón aquí; sin embargo, ¿qué hace realmente este patrón de restar y sumar? Centrémonos en el ejemplo de tres jugadores. Al restar los valores de la coalición de dos jugadores, estamos eliminando la sinergia recibida de esa coalición y los valores de nivel inferior de las coaliciones más pequeñas dentro de ella; sin embargo, cuando esto sucede, en realidad resta demasiado el valor y cuando se vuelven a agregar los valores de un solo jugador, estamos ajustando el valor restado en exceso y nos queda la sinergia pura de la coalición de tres jugadores.

Aplicación del mundo real: sitio web de comercio electrónico

Imagen proporcionada por el autor.

Volviendo a nuestro ejemplo original, creemos una aplicación que calcule los dividendos de Harsanyi para un sitio web de comercio electrónico para todas las acciones que un cliente puede realizar, de modo que podamos tener una idea de qué elementos del sitio web funcionan bien juntos. Estos conocimientos pueden ayudar a las partes interesadas con las siguientes preguntas:

¿A dónde debemos enviar a los clientes dependiendo de la página? ¿Qué productos tienen oportunidades de venta cruzada o adicional? ¿Cuáles son las mejores páginas de destino para diferentes canales? ¿Qué viajes deberían mejorarse o eliminarse por completo?

La aplicación Harsanyi

El proyecto completo se puede encontrar en mi GitHub aquí. Lo guiaré a través de los tres archivos principales: Synthetic_data.py, dividends.py y app.py.

datos_sintéticos.py

¿Por qué incluir una función de datos sintéticos? Uno de mis objetivos para este proyecto es ser educativo, y la parte de datos de generación sintética permite al usuario final explorar rápidamente la herramienta e incluso tener una idea del tipo de datos para los que está diseñada la herramienta. Tenga en cuenta que también existe la opción para que un usuario cargue sus propios datos a través de un archivo CSV.

A continuación se muestra una vista simplificada de cómo deberían verse los datos:

SEOCorreo electrónicoPágina de producto EscritorioConversión10101001010000001110

Como puede ver, cada característica y la columna de destino (Conversión) son booleanas. Cada observación puede implicarse como un cliente o una sesión del sitio web. En la sección de datos sintéticos, las variables de características pueden estar en tres categorías: canal, página y dispositivo; sin embargo, si estás subiendo tus propios datos, puedes usar los que quieras siempre que sean booleanos.

Característica de propensiones variables

Generar “buenos” datos sintéticos significa hacerlos lo más realistas posible. En este proyecto, eso significa que debemos incluir propensiones realistas para cada variable característica.

En el archivo, agregué una lista de rangos de propensión de características. Estos se pueden configurar fácilmente y se utilizan para modelar la propensión a realizar conversiones. Algunos de ellos no tienen intencionalmente un rango, pero para aquellos que sí lo tienen, pasan a través de una función de aleatorización personalizada que genera un valor entre el rango.

FEATURE_PROPENSITY_RANGES

FEATURE_PROPENSITY_RANGES: Dict[str, Tuple[float, float]] = { # Canales "email": (2.0, 2.0), "seo": (6.0, 6.0), "sem": (6.0, 6.0), "direct": (5.0, 5.0), "display": (1.0, 1.0), "social": (1.0, 1.0), "affiliate": (7.0, 7.0), # Páginas (A/F con rangos donde se especifica) "product_page_a": (5.0, 7.0), "product_page_b": (4.0, 8.0), "product_page_c": (5.0, 7.0), "product_page_d": (4.0, 8.0), "product_page_e": (5.0, 7.0), "product_page_f": (4.0, 8.0), "deals_page": (6.0, 6.0), "search_page": (5.0, 5.0), "homepage": (4.0, 4.0), "account_page": (7.0, 7.0), "support_page": (3.0, 3.0), # Dispositivo "device_desktop": (6.0, 6.0), "dispositivo_móvil": (3.0, 3.0), }

_coef_range_for_score

Los rangos en sí no se pueden conectar directamente a un modelo para generar una muestra que produzca una tasa de conversión promedio de alrededor del 5%. Lo estamos logrando mediante una regresión logística, que requiere coeficientes realistas en la función lineal. Para convertir estos rangos en coeficientes significativos, creé la siguiente función:

def _coef_range_for_score(score: float) -> Tupla[float, float]: si puntaje <= 2.0: retorno (-1.0, -0.3) # efecto negativo puntaje elif <= 4.0: retorno (-0.3, 0.3) # puntaje elif casi neutral <= 6.0: retorno (0.3, 1.0) # puntaje elif positivo moderado <= 8.0: retorno (1.0, 2.5) # positivo fuerte else: retorno (2.5, 4.0) # positivo muy fuerte

_muestra_probabilidades_marginales

Si bien la propensión es esencial, también se debe considerar la frecuencia con la que esperamos que un usuario interactúe con cada canal, página o dispositivo. Por lo tanto, necesitamos una función que determine con qué frecuencia un cliente interactúa con cada elemento. Tenga en cuenta que se muestra la sección del canal, pero el resto se ejecuta de manera similar. Tenga en cuenta que todas las funciones que ha visto hasta ahora garantizan que los datos sintéticos sean diferentes cada vez que se generan.

def _sample_marginal_probabilities( rng: np.random.Generator, ) -> Tuple[Dict[str, float], float]: problemas: Dict[str, float] = {} # Canales: bastante escasos, algunos problemas más comunes (SEO, directo)["email"] = rng.uniform(0.03, 0.15) problemas["seo"] = rng.uniform(0.10, 0.60) problemas["sem"] = rng.uniform(0.05, 0.40) problemas["direct"] = rng.uniform(0.10, 0.50) problemas["display"] = rng.uniform(0.01, 0.10) problemas["social"] = rng.uniform(0.03, 0,20) problemas["afiliado"] = rng.uniform(0,02, 0,15)

_build_logistic_spec

La siguiente función es la que construye el modelo de regresión logística. Aquí están las primeras líneas.

def _build_logistic_spec( rng: np.random.Generator, ) -> LogisticSpec: puntuaciones = _sample_feature_scores(rng) # Efectos principales main_effects = {} para función en ALL_BINARY_FEATURES: puntuación = puntuaciones[característica] lo, hola = _coef_range_for_score(score) main_effects[característica] = rng.uniform(lo, hola)

Para revelar interacciones entre las variables, necesitaremos agregar términos de interacción al modelo. Para lograr esto, agregaremos algunas funciones dentro de nuestra función de regresión logística personalizada que agregan términos de interacción para combinaciones de dos y tres características. Estos se pueden configurar en la propia función, como puedes ver en el segundo bloque de código.

interacciones_2 = {} interacciones_3 = {} fuerte_2 = (1.0, 3.0) moderado_2 = (0.5, 1.5) débil_2 = (-0.3, 0.3) fuerte_3 = (1.5, 3.5) moderado_3 = (0.7, 2.0) def add_interaction_2(a, b, coef_range): clave = tupla(ordenado((a, b))) interacciones_2[clave] = rng.uniform(*coef_range) def add_interaction_3(a, b, c, coef_range): clave = tupla(ordenado((a, b, c))) interacciones_3[clave] = rng.uniform(*coef_range) add_interaction_3("sem", "product_page_a", "deals_page", strong_3) add_interaction_3("seo", "product_page_c", "search_page", moderate_3)

Finalmente, sumamos la intersección. Tenga en cuenta que, si bien esto garantizará que nuestro modelo de referencia mantenga los datos en una tasa de conversión de alrededor del 5%, necesitaremos ajustarlo para mantenerlo cerca del 5%.

interceptar = float(np.log(0.05 / (1.0 – 0.05))) return LogisticSpec(interceptar, main_effects, interacciones_2, interacciones_3)

_compute_linear_predictor

Ahora bien, la función anterior en realidad no construye el modelo; prepara el escenario creando un diccionario de características, interacciones de características y sus coeficientes asociados. La siguiente función itera y devuelve el resultado una vez que se ingresan los valores para una observación determinada.

def _compute_linear_predictor( df: pd.DataFrame, spec: LogisticSpec, ) -> np.ndarray: z = np.full(shape=len(df), fill_value=spec.intercept, dtype=float) # Efectos principales para f, beta en spec.main_effects.items(): si f en df.columns: z += beta * df[f].values # 2 vías para (a, b), beta en spec.interactions_2.items(): si a en df.columns y b en df.columns: z += beta * (df[a].values * df[b].values) # 3 vías para (a, b, c), beta en spec.interactions_3.items(): si a en df.columns y b en df.columns y c en df.columns: z += beta * (df[a].values * df[b].values * df[c].values) devuelve z

_calibrar_intercepción_a_tasa_global

Las tasas de conversión pueden variar significativamente; sin embargo, creo que es seguro asumir que la mayoría de los sitios web reciben conversiones de una pequeña cantidad de sus clientes. En esta herramienta, ajustaremos los datos para obtener una tasa de conversión de alrededor del 5%. Hay algunas maneras en que podemos hacer esto; sin embargo, creo que el enfoque más eficiente es ajustar el término de intercepción hasta que obtengamos un umbral cercano al objetivo del 5%. La siguiente función hace precisamente eso. La función final que sigue a esta combina todo lo que la precede y es lo que realmente se llama en la aplicación.

def _calibrate_intercept_to_global_rate( df: pd.DataFrame, especificación: LogisticSpec, target_rate: float = 0.05, max_iter: int = 8, ) -> LogisticSpec: for _ in range(max_iter): z = _compute_linear_predictor(df, spec) p = expit(z) mean_p = float(p.mean()) if mean_p <= 0 o mean_p >= 1: romper # algo degenerado; renunciar a current_odds = mean_p / (1.0 – mean_p) target_odds = target_rate / (1.0 – target_rate) delta = np.log(target_odds / current_odds) spec.intercept += float(delta) # Detener temprano si está lo suficientemente cerca si abs(mean_p – target_rate) < 0.002: romper la especificación de retorno

dividendos.py

Como probablemente habrás adivinado, este archivo es el motor que calcula los dividendos de Harsanyi. Ya hicimos un ejercicio sólido revisando cómo se calculan; por lo tanto, creo que es mucho más productivo discutir cómo se calcularán los dividendos en el contexto de esta herramienta.

Los datos del flujo de clics, en sí mismos, pueden ser muy escasos, ya que el recorrido típico de un cliente puede implicar varias acciones individuales. Esto plantea un desafío a la hora de calcular los valores de la coalición. Digamos que tenemos un conjunto de datos de 100.000 clientes con todas las acciones que realizaron y queremos calcular el valor de la coalición para los clientes que interactuaron con la página de inicio y una página de producto. Es posible que encontremos sólo un puñado de clientes que realizaron esas dos acciones solos; por lo tanto, para cada coalición, verificaremos si un cliente realizó esas acciones independientemente de qué más hizo. De ahí tomamos el promedio para obtener el valor de la coalición. Una nota vital que debo mencionar es que no existe una definición formal de cómo se debe calcular una puntuación de valor en el contexto de los dividendos de Harsanyi; por lo tanto, es necesario utilizar su mejor criterio. En este ejemplo, tomar el promedio es efectivo porque usamos datos binarios y el promedio arroja una proporción o porcentaje. Ahora bien, si en su lugar utilizáramos los ingresos, tomar el promedio podría ser significativamente engañoso debido a posibles valores atípicos.

Por último, debo mencionar que este archivo utiliza programación paralela a través del módulo .futures concurrente y las configuraciones dinámicas. La programación paralela puede reducir significativamente el tiempo necesario para calcular los dividendos de Harsanyi cuando se trabaja con grandes conjuntos de datos. También existe la opción de designar el tamaño máximo de las coaliciones para las que desea calcular dividendos. El propósito de esta herramienta es brindar a las partes interesadas algo útil con lo que puedan trabajar. Si ofrece coaliciones de recorridos de clientes que incluyen varias interacciones, esto puede generar muchas oportunidades fragmentadas que podrían estirar los recursos disponibles en lugar de centrarse en unas pocas coaliciones pequeñas y de alto valor. La última configuración que mencionaré es la proporción mínima de datos para que una coalición se incluya en los cálculos. Esto garantiza que cualquier oportunidad que descubra la herramienta tenga un tamaño de muestra respetable.

Demostración utilizando datos sintéticos

Ahora, hagamos una demostración rápida con la herramienta. Iremos de principio a fin utilizando la opción de conjunto de datos sintéticos y terminaremos con algunas ideas.

Paso 1: generar un conjunto de datos sintético

Imagen proporcionada por el autor.

Paso 2: Configure el tamaño máximo de la coalición y el porcentaje mínimo de datos necesarios para que se cuente una coalición, luego calcule los dividendos de Harsanyi.

Imagen proporcionada por el autor.

Paso 3: analizar los resultados

Imagen proporcionada por el autor.

El marco de datos resultante se ordenará por la columna Harsanyi Dividend; por lo tanto, lo más probable es que las primeras coaliciones sean de jugadores individuales. Dado el contexto en el que probablemente se utilizarían los dividendos de Harsanyi, los actores individuales no son invaluables, pero son prácticos en ese contexto. El impacto real proviene del análisis de las coaliciones multijugador. Echemos un vistazo a algunos mediante la exportación de la tabla anterior.

Imagen proporcionada por el autor.

Estas son las coaliciones de múltiples actores con los mayores dividendos de Harsanyi; es decir, los actores que más sinergia generan juntos. Entonces, ¿qué hacemos con esta información?

La principal coalición multijugador es la "página de ofertas" y "SEM", en términos más prácticos, clientes que visitaron la página de ofertas desde una campaña SEM. Una recomendación que podrías dar como profesional es que una mayor inversión podría ser valiosa para este tipo de campañas.

¿Qué pasa con las siguientes pocas coaliciones? Parece haber varias combinaciones de páginas de productos. Podría recomendar experiencias de venta adicional o cruzada para estos productos, ya que las tasas de conversión aumentan considerablemente cuando los clientes interactúan con estas páginas durante el mismo recorrido. La venta adicional y cruzada de estos productos juntos podría resultar valiosa.

Conclusión

Podría seguir y seguir sobre las infinitas oportunidades que podría ofrecer un análisis derivado de Harsanyi Dividend, especialmente en un entorno de marketing de gran volumen o de tienda en línea donde siempre hay innumerables variables en juego. Para concluir, quiero dejarles a todos algunos consejos a la hora de impulsar ideas y oportunidades a través de Harsanyi Dividends:

Encuentre un equilibrio entre el valor y el volumen de la coalición: sin duda encontrará situaciones en las que identifique coaliciones valiosas, pero centrarse en ellas afectaría sólo a una fracción del negocio o de los clientes. Es vital encontrar un equilibrio saludable desde esta perspectiva. Seguir con coaliciones de tamaño razonable: presentar oportunidades o ideas a coaliciones grandes podría resultar costoso desde varios ángulos. En el ejemplo de mi sitio de comercio electrónico, puede haber casos en los que una coalición valiosa abarque varias páginas y quizás numerosos canales de marketing. Si les digo a las partes interesadas que se concentren en esas combinaciones, podría requerir inversiones complejas en varios equipos y tecnologías. Dicho esto, si se trata de una gran coalición de varias páginas similares, entonces se podría agilizar cualquier aumento de inversión. En última instancia, una coalición de tamaño razonable dependerá del caso de negocio. Como ocurre con cualquier proyecto de ciencia de datos, el conocimiento del dominio es clave aquí. Traducir los dividendos en impacto medible: cualquier oportunidad o idea presentada a una parte interesada probablemente requerirá un impacto financiero. Por lo tanto, es necesario poder traducir un dividendo de Harsanyi en un retorno de la inversión. Podría ser tan simple como volver a la métrica del valor de la coalición y agregar algún multiplicador si recomienda un proyecto que generaría un tamaño de coalición más grande, por ejemplo, más campañas de un canal específico a una página en particular, como mencioné anteriormente. Probablemente habrá innumerables formas de realizar este tipo de traducción matemática.

¡Espero que hayas disfrutado este artículo! ¡Encuentro muy divertida esta área de la teoría de juegos cooperativos! Si desea obtener más información, asegúrese de consultar el artículo original publicado por John Harsanyi titulado: Un modelo de negociación simplificado para el juego cooperativo de n personas, publicado en 1963.