Módulo 8: Project Prioritize Mercados Roadmap

Encuentra la suposición más riesgosa de cada apuesta

Descripción

Ya sabes cuánto GMV dimensiona cada una de las cinco apuestas (lección 4). Pero ese número —$185,625/mes para recommendations, por ejemplo— solo se cumple si la apuesta funciona como el equipo espera. Detrás de cada apuesta hay varias suposiciones, no una sola, y no todas pesan lo mismo: algunas, si resultan falsas, apenas raspan el resultado; otras, si son falsas, hunden la apuesta entera. Esta lección aplica rankAssumptions —el modelo del módulo 6— a cada una de las cinco apuestas del trimestre, para nombrar, con un criterio explícito y no con la primera suposición que se le ocurra a alguien en la reunión, cuál es esa suposición central en cada caso.

Conexión con el módulo. Esta es la Capa 4 de las siete. rankAssumptions ordena una lista de suposiciones candidatas por riskScore (risk × impact) y te deja con la más riesgosa arriba — exactamente el modelo que construiste en el módulo 6. Lo que esta lección agrega es la aplicación sobre las cinco apuestas juntas, cada una con dos suposiciones candidatas, no solo una obvia — porque, como vas a ver, la suposición más riesgosa no siempre es la que parece más riesgosa a primera vista. Esta suposición ganadora es, además, el insumo directo de la lección 6: el MVP que vas a diseñar ahí existe, específicamente, para poner a prueba la suposición que identificas aquí, no cualquier otra.

Una analogía: la inspección del terreno antes de decidir qué apuntalar

Vuelve al cronograma de obra de la presentación del módulo. Antes de decidir qué reforzar primero, un ingeniero estructural no revisa la parte del edificio que "se ve" más frágil a simple vista —revisa cuál parte, si falla, se lleva abajo el resto—. A veces esa parte es obvia (una columna visiblemente agrietada); a veces no lo es (un tramo de tubería enterrada, invisible, que si falla inunda los cimientos de todo el edificio). El trabajo no es listar todo lo que podría salir mal —eso es una lista infinita—, es encontrar, entre varias candidatas razonables, la que de verdad decide si el edificio se sostiene o no.

Ejemplo trabajado: rankAssumptions sobre las cinco apuestas del trimestre

Para cada apuesta, el equipo escribió dos suposiciones candidatas —no una sola—, cada una con su risk (qué tan probable es que sea falsa, de 0 a 1) y su impact (qué tan grave sería para la apuesta si resulta falsa, de 0 a 1):

// L05: identificamos la suposicion mas riesgosa de cada apuesta con rankAssumptions (modulo 6).
function rankAssumptions(assumptions) {
  return assumptions
    .map((a) => ({ ...a, riskScore: Math.round(a.risk * a.impact * 100) / 100 }))
    .sort((a, b) => b.riskScore - a.riskScore);
}

const assumptionsByBet = {
  fasterCheckout: [
    { text: 'reducir de 5 a 3 pasos elimina friccion real que causa abandono, no solo pasos cosmeticos', risk: 0.6, impact: 0.9 },
    { text: 'los compradores mobile abandonan por cantidad de pasos, no por desconfianza en el metodo de pago', risk: 0.4, impact: 0.6 },
  ],
  recommendations: [
    { text: 'mostrar productos complementarios en el carrito hace que mas compradores agreguen un segundo producto antes de pagar', risk: 0.5, impact: 0.9 },
    { text: 'los compradores confian en una recomendacion automatica tanto como en su propia busqueda', risk: 0.3, impact: 0.5 },
  ],
  sellerTools: [
    { text: 'si los vendedores ven que productos rotan lento o se quedan sin stock, ajustan precio o stock a tiempo, y eso reduce las ventas perdidas', risk: 0.65, impact: 0.8 },
    { text: 'un reporte semanal por email es suficientemente visible para que el vendedor actue, sin necesitar una alerta en tiempo real', risk: 0.4, impact: 0.5 },
  ],
  reviews: [
    { text: 'ver una calificacion visible en la pagina del producto aumenta la probabilidad de que un comprador complete la compra', risk: 0.55, impact: 0.85 },
    { text: 'los compradores confian mas en el numero de reseñas (volumen) que en el promedio de estrellas', risk: 0.3, impact: 0.4 },
  ],
  improvedSearch: [
    { text: 'corregir errores ortograficos y sinonimos hace que compradores encuentren lo que buscaban y lleguen al carrito', risk: 0.5, impact: 0.75 },
    { text: 'la mayoria del abandono en busqueda pasa por errores de tipeo o sinonimos, y no por falta de inventario relevante en el catalogo', risk: 0.55, impact: 0.8 },
  ],
};

console.log('=== La suposicion mas riesgosa de cada apuesta ===\n');
const riskiestByBet = {};
for (const [feature, list] of Object.entries(assumptionsByBet)) {
  const ranked = rankAssumptions(list);
  riskiestByBet[feature] = ranked[0];
  console.log(feature + ':');
  ranked.forEach((a, i) => console.log('  ' + (i === 0 ? '-> ' : '   ') + 'riskScore=' + a.riskScore + '  ' + a.text));
  console.log();
}

Qué esperar. Al correr el archivo con Node, la salida es exactamente esta:

=== La suposicion mas riesgosa de cada apuesta ===

fasterCheckout:
  -> riskScore=0.54  reducir de 5 a 3 pasos elimina friccion real que causa abandono, no solo pasos cosmeticos
     riskScore=0.24  los compradores mobile abandonan por cantidad de pasos, no por desconfianza en el metodo de pago

recommendations:
  -> riskScore=0.45  mostrar productos complementarios en el carrito hace que mas compradores agreguen un segundo producto antes de pagar
     riskScore=0.15  los compradores confian en una recomendacion automatica tanto como en su propia busqueda

sellerTools:
  -> riskScore=0.52  si los vendedores ven que productos rotan lento o se quedan sin stock, ajustan precio o stock a tiempo, y eso reduce las ventas perdidas
     riskScore=0.2  un reporte semanal por email es suficientemente visible para que el vendedor actue, sin necesitar una alerta en tiempo real

reviews:
  -> riskScore=0.47  ver una calificacion visible en la pagina del producto aumenta la probabilidad de que un comprador complete la compra
     riskScore=0.12  los compradores confian mas en el numero de reseñas (volumen) que en el promedio de estrellas

improvedSearch:
  -> riskScore=0.44  la mayoria del abandono en busqueda pasa por errores de tipeo o sinonimos, y no por falta de inventario relevante en el catalogo
     riskScore=0.38  corregir errores ortograficos y sinonimos hace que compradores encuentren lo que buscaban y lleguen al carrito

Cuatro de las cinco apuestas se comportan como esperarías: la suposición "central", la que describe el mecanismo principal de la apuesta, gana con un margen amplio sobre la suposición secundaria. Pero mira con cuidado improvedSearch, porque es el caso que vale la pena detenerse: la suposición que gana no es "corregir errores ortográficos y sinónimos hace que compradores encuentren lo que buscaban" —la que suena, a primera vista, como la suposición central de la apuesta—. La que gana es una más incómoda y más fundamental: "la mayoría del abandono en búsqueda pasa por errores de tipeo o sinónimos, y no por falta de inventario relevante en el catálogo".

Fíjate en la diferencia entre las dos. La primera pregunta si la solución funciona: si corriges los typos, ¿la gente encuentra lo que buscaba? La segunda pregunta algo anterior y más peligroso: ¿el problema que estás resolviendo es siquiera el problema real? Si la mayoría del abandono en la búsqueda de Mercado ocurre porque el catálogo simplemente no tiene lo que la gente busca —no porque escribieron mal la palabra—, entonces improvedSearch puede funcionar técnicamente a la perfección (los typos se corrigen, los sinónimos se reconocen) y aun así no mover la conversión casi nada, porque estaba resolviendo un problema secundario mientras el problema real —cobertura de catálogo— seguía intacto. Ese tipo de suposición —sobre si diagnosticaste bien el problema, no sobre si tu solución técnica funciona— es, con frecuencia, la más riesgosa de todas, y es también la que más fácil se pasa por alto, porque no se siente como parte del "trabajo de ingeniería" — se siente como algo que "ya se sabe".

Por qué la suposición más riesgosa no siempre es la más obvia

Este patrón —que la suposición ganadora sea sobre el diagnóstico del problema, no sobre la solución— es más común de lo que parece, y vale la pena nombrarlo con precisión: hay dos capas de suposición detrás de cualquier apuesta. La primera es "¿mi solución funciona?" (¿el motor de recomendaciones muestra productos relevantes?, ¿la corrección ortográfica detecta bien los typos?). La segunda, casi siempre menos visible, es "¿estoy resolviendo el problema correcto?" (¿el abandono en búsqueda es de verdad por typos, o por falta de inventario?). Un equipo de ingeniería, por formación, tiende a gastar toda su energía verificando la primera —porque es la que se puede probar con un test unitario, con una demo, con una métrica de precisión del algoritmo— y da la segunda por sentada, sin haberla puesto nunca a prueba. rankAssumptions, con risk e impact estimados con honestidad para ambas capas, es lo que te obliga a comparar las dos en la misma tabla, en vez de asumir por default que la capa técnica es la que importa.

Errores comunes

Escribir solo la suposición "obvia" y no buscar una segunda candidata. Qué pasa: al aplicar rankAssumptions, alguien escribe una sola suposición por apuesta —la que primero se le ocurrió— y la declara "la riesgosa" sin comparación, porque no hay nada más con qué compararla. Por qué pasa: pensar una segunda suposición candidata, distinta y también plausible, exige un esfuerzo extra que se siente innecesario cuando la primera "ya suena bien". Cómo detectarlo: si tu lista de suposiciones por apuesta tiene un solo elemento, no estás usando rankAssumptions como un rankeador —estás usando tu primera ocurrencia sin verificarla contra ninguna alternativa. Cómo corregirlo: como viste con improvedSearch, la segunda candidata a veces gana. El ejercicio de escribir al menos dos por apuesta —una sobre la solución, otra sobre el diagnóstico del problema— es lo que hace que el modelo sirva de algo.

Calibrar risk e impact para que gane la suposición que "ya se cree" que es la riesgosa. Qué pasa: alguien, convencido de antemano de cuál es la suposición central, ajusta los números de risk e impact hasta que el ranking confirme lo que ya pensaba, en vez de estimarlos con honestidad primero. Por qué pasa: es la misma tentación de manipular un score que ya viste con RICE en el módulo 3, aplicada ahora a risk e impact. Cómo detectarlo: si cambias los números de una suposición después de ver que el ranking no salió como esperabas, y no tienes una razón nueva (evidencia, no conveniencia) para el cambio. Cómo corregirlo: estima risk e impact de cada suposición antes de calcular el ranking, y solo revísalos si aparece información nueva y real —igual que la disciplina de sensibilidad legítima que viste en el proyecto del módulo 3.

Tratar la suposición ganadora como la única que importa, y descartar la segunda. Qué pasa: una vez identificada la suposición más riesgosa, el equipo olvida por completo la segunda candidata, aunque también tenía un riskScore considerable (por ejemplo, 0.38 en improvedSearch, no muy lejos del 0.44 que ganó). Por qué pasa: rankAssumptions produce un ganador claro, y es fácil leer eso como "las demás no importan". Cómo detectarlo: si el MVP que diseñas en la lección siguiente solo prueba la suposición ganadora y no deja ningún rastro de evidencia sobre la segunda, aunque fuera barato incluirlo. Cómo corregirlo: la suposición ganadora decide qué probar primero, no qué ignorar del todo — cuando el costo de capturar evidencia sobre la segunda es casi cero (como suele pasar con un MVP bien diseñado), vale la pena diseñarlo para que también arroje señal sobre ella.

Ejercicios

Ejercicio 1 — Calcula el riskScore de una tercera candidata. Para fasterCheckout, el equipo propone una tercera suposición candidata: "el checkout de 3 pasos no introduce ningún bug nuevo que cause abandono por una razón distinta (un error técnico, no de diseño)", con risk: 0.3, impact: 0.9. Calcula su riskScore y di si desplazaría a la suposición ganadora actual (riskScore: 0.54).

Ver solución

riskScore = round(0.3 × 0.9 × 100) / 100 = round(27) / 100 = 0.27. No desplaza a la ganadora actual (0.54) — de hecho, queda por encima de la segunda candidata original (0.24) pero por debajo de la primera. Esto tiene sentido: aunque un bug técnico sería grave si ocurriera (impact: 0.9, alto), es mucho menos probable (risk: 0.3) que el mecanismo de diseño esté mal —los bugs se capturan con QA y monitoreo antes de escalar a todo el tráfico, mientras que "¿el diseño de 3 pasos de verdad reduce la fricción?" es una pregunta que ningún test automático responde. rankAssumptions premia la combinación de ambos factores, no solo la gravedad.

Ejercicio 2 — Diseña las dos candidatas de una sexta apuesta. El equipo agrega, tarde, una sexta apuesta al backlog: "agregar pago con criptomonedas". Propón dos suposiciones candidatas —una sobre si la solución técnica funciona, otra sobre si el problema que resuelve es real para los compradores de Mercado— con su risk e impact estimados, y di cuál esperarías que gane.

Ver solución

Una propuesta razonable: (a) "la integración con una pasarela de criptomonedas procesa pagos con la misma confiabilidad que el checkout actual" (risk: 0.3, es una integración técnica conocida en el mercado, riesgo moderado; impact: 0.6, un bug de pagos es grave pero se puede mitigar con monitoreo) → riskScore: 0.18. (b) "existe una porción significativa de compradores de Mercado que hoy no compran, o compran menos, específicamente porque no pueden pagar con criptomonedas" (risk: 0.7, alta probabilidad de que esto sea falso o exagerado — no hay ninguna señal previa de esta demanda en el backlog; impact: 0.95, si es falsa, toda la apuesta pierde su razón de ser) → riskScore: 0.665. La segunda gana, y por un margen amplio: es el mismo patrón que viste con improvedSearch — la pregunta de si el problema es real casi siempre pesa más que la pregunta de si la solución técnica funciona, sobre todo en una apuesta nueva sin ninguna señal previa de demanda.

Ejercicio 3 — Explica por qué improvedSearch es el caso interesante. En 3-4 frases, explica a un compañero que solo leyó el título de la apuesta improvedSearch por qué su suposición más riesgosa, según el modelo, no es sobre si la corrección ortográfica funciona bien.

Ver solución

Una respuesta posible: "Se siente natural pensar que el riesgo de improvedSearch es si el algoritmo de corrección ortográfica y sinónimos funciona bien técnicamente. Pero el modelo, con risk e impact estimados con honestidad, dice otra cosa: la suposición más riesgosa es si el abandono en la búsqueda de Mercado de verdad viene, en su mayoría, de errores de tipeo o sinónimos —y no de que el catálogo simplemente no tiene el producto que la gente busca—. Si esa suposición es falsa, podemos construir la mejor corrección ortográfica del mundo y la conversión casi no se va a mover, porque estábamos resolviendo el problema equivocado. Por eso el MVP de la lección 6 no debería limitarse a probar si el algoritmo funciona —debería, sobre todo, medir cuánta de esa búsqueda fallida se explica realmente por typos, antes de invertir en la solución completa."

Resumen y siguiente paso

En esta lección identificaste, para cada una de las cinco apuestas del trimestre, cuál es su suposición más riesgosa —la que, si es falsa, hunde la apuesta— usando rankAssumptions sobre dos candidatas por apuesta. Cuatro de las cinco confirmaron la intuición inicial; una, improvedSearch, reveló algo más incómodo: su riesgo más grande no es si la solución técnica funciona, sino si el problema que ataca es siquiera el problema real detrás del abandono en la búsqueda.

Con la suposición más riesgosa de cada apuesta ya nombrada, la lección 6 diseña, para cada una, el experimento más barato que la pone a prueba —el MVP, con compareApproaches del módulo 5— antes de comprometer el trimestre a construir cualquiera de las cinco enteras.

Recursos

  • Rob Fitzpatrick, The Mom Testmomtestbook.com. Sobre por qué las suposiciones acerca del problema (no de la solución) son las que con más frecuencia se validan mal, con preguntas que sesgan la respuesta hacia lo que ya se quiere escuchar. En inglés.
  • Teresa Torres, Continuous Discovery Habitsproducttalk.org/continuous-discovery-habits-book. El mapa de oportunidades y suposiciones, para practicar esta misma separación (problema vs solución) con tu propio backlog. En inglés.
  • Marty Cagan (Silicon Valley Product Group), "Risks" — svpg.com/articles. Sobre los cuatro tipos de riesgo de una apuesta de producto (valor, usabilidad, viabilidad, factibilidad), un marco más amplio que complementa el risk × impact de esta lección. En inglés.