most read
Building Stories
Modo Rua: Redefiniendo el desarrollo de aplicaciones mediante iteración centrada en el usuario Ago 23
Building Stories
NuStories: Adaptación de productos para clientes fanáticos en varios países Oct 30
Culture & Values
Cómo los valores y la cultura de Nu dan forma a los productos que creamos Ago 7
Careers
We are building diverse teams with the most creative and innovative professionals for each position we open.



Autor: Emanuel Fitta
La mayoría de los profesionales aprenden diseño experimental a través de ejemplos limpios: control vs. tratamiento, versión A vs. versión B vs. versión C, quizás un factorial 2×2. En estos casos, la estadística es manejable, la intuición es clara y los cálculos de tamaño de muestra son sencillos.
Sin embargo, muchos entornos aplicados —desde fintech y salud hasta operaciones y personalización de e-commerce— tienen un espacio de decisión mucho más grande. Múltiples palancas pueden tomar varios valores cada una, esas elecciones pueden interactuar, y la regulación, las operaciones o la experiencia del cliente pueden descartar algunas combinaciones.
El número de posibilidades crece rápidamente, haciendo que sea estadística u operativamente impracticable probar cada variante. Aquí es donde la teoría del diseño óptimo resulta útil y donde los ejemplos de los libros de texto a menudo dejan de ser suficientes.
El Problema Combinatorio
Supongamos que tenemos un experimento con k factores, cada uno con L niveles. Un diseño factorial completo tiene L^k combinaciones. Por ejemplo, con 4 factores y 5 niveles cada uno, hay 625 combinaciones posibles. Con 5 factores y 5 niveles, eso crece a 3,125. El espacio de diseño crece exponencialmente, por lo que la enumeración completa rápidamente se vuelve impracticable.
Una respuesta clásica es el diseño factorial fraccionado: elegir un subconjunto estructurado del factorial completo de modo que los efectos principales y algunas interacciones sigan siendo estimables. La idea subyacente es intercambiar la capacidad de estimar algunos efectos de orden superior por un experimento mucho más pequeño, preservando los efectos que más nos importan. En los diseños factoriales fraccionados regulares estándar, esto crea un aliasing deliberado entre efectos y puede producir diseños balanceados y ortogonales.
Los diseños factoriales fraccionados estándar funcionan de forma más limpia en espacios de factores regulares y sin restricciones, con una estructura de aliasing preespecificada. En entornos más irregulares, como niveles de factores mixtos, combinaciones prohibidas o incertidumbre sobre qué interacciones importan, las construcciones clásicas pueden volverse más difíciles de aplicar directamente. El diseño óptimo, por otro lado, proporciona un marco más general para estos casos complejos.
Check our job opportunies
Qué Optimiza Realmente el Diseño Óptimo
Elegir un diseño requiere comprometerse con un modelo. La pregunta «¿Qué corridas deberíamos asignar?» solo tiene sentido en relación con lo que queremos estimar. Un diseño que es excelente para detectar efectos principales puede ser inútil para detectar curvatura o interacciones. Así que antes de optimizar nada, necesitamos establecer cómo esperamos que la respuesta dependa de los factores.
Los modelos lineales son un punto de partida natural por tres razones. Primero, en una región experimental limitada, una superficie de respuesta suave a menudo puede aproximarse localmente con términos lineales, agregando interacciones o términos cuadráticos cuando la curvatura importa. El supuesto de linealidad se refiere a la región que estamos estudiando, no al sistema en todas partes.
Segundo, los coeficientes se corresponden directamente con cantidades que importan a los profesionales: el efecto de un factor, o el efecto adicional cuando dos factores cambian juntos. Tercero, y de manera crucial para el diseño experimental, la precisión de esas estimaciones de coeficientes puede evaluarse antes de recolectar datos. Salvo por la varianza de error desconocida, su covarianza depende de la matriz de diseño y no de los resultados que aún no hemos observado. Eso es lo que convierte la selección del diseño en un problema de optimización en lugar de una conjetura.
Con esto en mente, podemos hacer explícito el marco. Cada coeficiente en el modelo lineal representa un factor, una interacción u otro término del modelo. Esto separa claramente dos preguntas: qué relación queremos estimar —el modelo estadístico— y cómo debemos asignar las corridas experimentales para estimarla con la mayor precisión posible —el diseño experimental.
En un modelo lineal, la matriz de diseño X representa el experimento: una fila por cada brazo experimental y una columna por cada término del modelo. A partir de ella obtenemos la matriz de información, M = X’X, que surge naturalmente en mínimos cuadrados ordinarios. Salvo por la varianza de error, M determina con qué precisión pueden estimarse los coeficientes del modelo. Cuando M está bien condicionada y no es singular, los coeficientes pueden estimarse con varianza finita; cuando es singular, al menos algunos parámetros no son identificables por separado a partir del diseño disponible.
Diferentes criterios de optimalidad resumen y optimizan distintos aspectos de M [3]:
La D-optimalidad es el criterio más utilizado en la práctica. Maximiza det(M), lo que, bajo el modelo asumido y un tamaño de diseño fijo, minimiza el volumen del elipsoide de confianza conjunto para β. También es invariante ante reparametrizaciones lineales no singulares, por lo que el ranking de los diseños no depende de una elección arbitraria entre parametrizaciones equivalentes.
La D-eficiencia de un diseño es:
donde p es el número de parámetros del modelo y n es el número de brazos. Esta normalización resume la información media por brazo bajo el modelo elegido, la codificación de factores y el espacio de candidatos. Para medir el costo de las restricciones, se evalúa el mismo criterio para el diseño restringido y para un referencial sin restricciones, y luego se comparan ambos en la misma escala. Su razón da una D-eficiencia relativa para el diseño restringido respecto a ese referencial.
Encontrando Buenos Diseños Computacionalmente
Para problemas pequeños, podemos enumerar todos los diseños posibles y elegir el mejor. Para cualquier caso realista, el espacio es demasiado grande para buscar exhaustivamente. En esos casos, el algoritmo de intercambio de Fedorov [1] es un enfoque computacional estándar: una búsqueda local voraz que mejora un diseño candidato un intercambio a la vez. Comienza con un conjunto aleatorio de n brazos extraídos del conjunto de candidatos factible. Para cada brazo en el diseño actual y cada punto candidato fuera de él, el algoritmo evalúa si intercambiar los dos mejoraría det(X’X). Acepta el mejor intercambio que mejora el criterio y repite hasta que ningún intercambio individual lo aumente.
Debido a que el algoritmo es voraz, puede converger a óptimos locales; usar múltiples reinicios aleatorios reduce ese riesgo. Las variantes incluyen el algoritmo de intercambio de coordenadas [2], que modifica un nivel de factor a la vez en lugar de intercambiar brazos completos. En R, `optFederov()` del paquete AlgDesign [4] implementa esto directamente: se especifica el conjunto de candidatos, la fórmula del modelo y el número de brazos, y el algoritmo devuelve el diseño D-óptimo dentro de ese espacio. En Python, PyOptEx proporciona generación de diseños D-óptimos mediante un algoritmo de intercambio de coordenadas en lugar del algoritmo de intercambio de Fedorov, admitiendo modelos, restricciones y criterios de optimización personalizados. [5].
El Problema que los Libros de Texto Omiten: las Restricciones
En la práctica, el conjunto de candidatos factible rara vez es «todas las combinaciones de niveles de factores». Se ve reducido por restricciones operativas, regulatorias, de experiencia del cliente y de ingeniería. Algunas combinaciones de tratamiento pueden ser imposibles de ejecutar; algunos segmentos pueden no ser elegibles para ciertos tratamientos; algunas secuencias pueden ser inaceptables independientemente de sus propiedades estadísticas; y el número de tratamientos que pueden ejecutarse en paralelo puede estar acotado.
Las restricciones afectan el diseño de dos maneras. Primero, reducen el espacio de diseño factible, por lo que la matriz de información queda limitada por lo que queda. Segundo —y de manera más grave— pueden hacer que la matriz de información sea singular. Esto puede ocurrir cuando las restricciones crean dependencias estructurales entre los términos del modelo. Por ejemplo, si el nivel A en la posición 3 solo es factible cuando el nivel B está ausente en las posiciones 1 y 2, entonces la matriz de diseño X tendrá columnas colineales para ciertas especificaciones del modelo. El modelo que queremos ajustar puede ser literalmente no identificable a partir de los datos que se nos permite recolectar.
Cuando ocurre singularidad, el modelo debe cambiarse si aún queremos coeficientes identificables. Esto puede implicar eliminar términos de interacción, colapsar niveles de factores o simplificar la pregunta experimental hasta que el modelo restante sea identificable dentro del espacio restringido. Esto hace explícito el costo de las restricciones: algunos efectos pueden dejar de ser estimables por separado. Por ejemplo, supongamos que tenemos dos factores binarios, A y B, y las cuatro combinaciones son factibles. Un diseño D-óptimo para estimar ambos efectos principales y la interacción AB usa las cuatro combinaciones, cada una una vez. Ahora una restricción hace que (A=1, B=1) sea infactible. Quedan tres puntos candidatos. Los efectos principales aún son estimables, pero la interacción AB no lo es: en los tres puntos restantes, la columna de interacción no conserva ninguna variación que la distinga de los demás términos del modelo, por lo que su coeficiente no puede identificarse. La restricción nos cuesta la capacidad de responder una pregunta que antes era respondible.
La Pérdida de Información Es Real e Irreversible
Una intuición común es que las restricciones son una molestia que un tamaño de muestra adicional puede compensar. Si no podemos probar cada combinación, quizás podamos simplemente asignar más usuarios a las combinaciones que sí podemos probar. Eso funciona para la precisión, pero no para la identificabilidad.
El tamaño de muestra compra precisión dentro de un diseño. Más usuarios por cada punto de diseño existente reduce la varianza de nuestras estimaciones. Sin embargo, la replicación no cambia el rango de la matriz del modelo ni crea variación en una dirección que el diseño nunca explora. Si una restricción crea colinealidad entre dos efectos, ninguna cantidad de datos adicionales los separa. La información está estructuralmente ausente, no simplemente es ruido estadístico.
La implicación práctica es que, una vez que hemos impuesto todas las restricciones necesarias y calculado el conjunto de candidatos factible, deberíamos ser reacios a reducirlo aún más. Cada reducción adicional puede disminuir la precisión y, en el peor caso, hacer que un efecto objetivo no sea identificable.
Un Caso Real: Un Experimento Secuencial de Cobranzas
Para hacer esto concreto, consideremos el problema de diseño que enfrentamos al construir el Next Best Action Foundational Test en el equipo de engagement de cobranzas de Nubank. El objetivo era recolectar datos de entrenamiento para un modelo que recomendara estrategias de acción personalizadas para clientes de tarjeta de crédito. Las acciones disponibles eran Recordatorios, Advertencia al Buró, Advertencia de Bloqueo de Tarjeta de Crédito, Acción de Bloqueo de Tarjeta de Crédito, y Ninguna acción. Los clientes pasan por hasta cuatro ventanas de tiempo secuenciales; en cada una, el equipo selecciona una de cinco acciones. El espacio sin restricciones es 5^4 = 625 secuencias posibles.
Tras aplicar restricciones de negocio (reglas sobre qué secuencias de acciones están operativamente prohibidas o son lógicamente inconsistentes), quedaron 175 combinaciones factibles, frente a las 625 originales. Las restricciones por sí solas eliminaron el 72% del conjunto de candidatos. Eso redujo drásticamente la variación disponible para identificar efectos en el modelo.
Modelamos los efectos principales de cada acción en las primeras tres posiciones como estimandos primarios. La cuarta posición no pudo agregarse como un término independiente del modelo sin causar deficiencia de rango en la matriz de información: en esta configuración, su asignación era determinística dadas las decisiones en posiciones anteriores. En su lugar, tratamos la cuarta posición como un objetivo secundario: maximizar la cobertura empírica entre sus condiciones dentro del conjunto factible.
Ejecutar `optFederov()` sobre los 175 candidatos factibles frente al modelo de efectos principales para las primeras tres posiciones devolvió consistentemente un diseño que incluía las 175 combinaciones. Este no fue un resultado preespecificado; surgió de la optimización. En nuestra configuración, el diseño optimizado por lo tanto no recomendó reducir aún más el conjunto de candidatos factible. Bajo el modelo elegido, las restricciones y la especificación del tamaño del diseño, reducir el conjunto disminuiría el criterio de diseño en lugar de mejorarlo.
Esto puede parecer sorprendente, ya que el diseño óptimo suele asociarse con reducir el número de corridas experimentales. Aquí, sin embargo, la optimización no reveló un subconjunto más pequeño con mejor D-eficiencia bajo la configuración utilizada.
El diseño resultante tuvo una D-eficiencia de 0.75 en relación con el referencial sin restricciones utilizado en el análisis. En esa comparación, el diseño restringido retuvo el 75% de la D-eficiencia del referencial. La brecha restante cuantifica el costo de eficiencia asociado con las reglas de negocio bajo este modelo y este referencial.
La lección más amplia no es que los diseños D-óptimos restringidos siempre usarán todos los puntos factibles. Las restricciones de negocio pueden eliminar tanta flexibilidad que reducir aún más el conjunto resulte costoso bajo el modelo objetivo. Por lo tanto, el conjunto de candidatos debería reducirse solo después de medir qué efecto tiene esa reducción sobre el criterio de diseño y la identificabilidad.
Qué Significa Esto para los Profesionales
Tres reglas conviene tener en cuenta al diseñar experimentos restringidos:
No reduzcan el conjunto de candidatos sin analizar el costo. Cada combinación eliminada puede reducir la precisión y, en algunos casos, eliminar la identificabilidad de un efecto objetivo. Calculen la D-eficiencia antes y después de la reducción propuesta, y sean explícitos sobre qué efectos se están sacrificando.
Las restricciones no son gratuitas, y cuantificar su costo importa. Antes de que un stakeholder agregue una restricción, evalúen cómo cambia la D-eficiencia y el rango o la estimabilidad del modelo objetivo. A veces el costo es insignificante; a veces hace que un efecto clave no sea identificable. Hagan visible la disyuntiva en lugar de absorberla silenciosamente en el diseño.
Usen el modelo como insumo para el diseño. Los diseños D-óptimos dependen del modelo: lo óptimo para un modelo de efectos principales difiere de lo óptimo para un modelo con interacciones de dos vías. Sean claros sobre qué modelo persigue el diseño, y recuerden que el diseño no garantiza una buena estimación para los términos que el modelo no priorizó.
Conclusión
El A/B testing estándar es la herramienta adecuada para una clase específica de problemas: espacios de diseño pequeños, pocos brazos de tratamiento, sin restricciones estructurales. Para esa clase, sigue siendo la herramienta adecuada.
Muchos problemas reales no pertenecen a esa clase. Las decisiones secuenciales, los espacios multifactoriales y las restricciones de negocio llevan a los experimentadores más allá de los A/B tests simples y las configuraciones factoriales estándar. El diseño D-óptimo proporciona la maquinaria teórica y computacional para manejar estos casos, junto con un lenguaje para entender qué nos están costando nuestras restricciones.
El mensaje central es simple: cuando no podemos probar todo, la elección de qué probar no es administrativa; es estadística. Equivocarse no solo significa menor poder estadístico; puede hacer que algunas preguntas sean estructuralmente irrespondibles a partir del diseño resultante.
Cuando las restricciones ya han eliminado gran parte del espacio de candidatos, el mejor diseño puede ser menos disperso de lo esperado —y en algunos casos puede usar cada combinación factible. El punto importante es dejar que el modelo y el criterio de diseño determinen si una reducción adicional está justificada. Las restricciones ya imponen un costo estadístico; no agreguemos otro sin medirlo.
Check our job opportunies