Tasa de Conversión Posterior por Canal (mediana · HDI 90%)
SEO Orgánico
18.4%
mediana posterior
HDI 90%: 13.1% – 24.2%
Paid Ads
24.7%
mediana posterior
HDI 90%: 18.9% – 31.1%
Referral
31.2%
mediana posterior
HDI 90%: 24.8% – 38.5%
Content
14.9%
mediana posterior
HDI 90%: 10.2% – 20.1%
Email
22.1%
mediana posterior
HDI 90%: 16.3% – 28.4%
Forest Plot — Interceptos por Canal (escala logit)
Referral
+0.74
Paid Ads
+0.39
Email
+0.22
μ global
+0.07
SEO
-0.21
Content
-0.53
Barras = HDI 90% · Punto = mediana · Línea vertical = intercepto global μ
Valores en escala logit; convertir con
Valores en escala logit; convertir con
σ(x) para probabilidades.
Hiperprior μ_α
0.07 [−0.31, 0.45]
Hiperprior σ_α
0.51 [0.28, 0.84]
β log-presupuesto
+0.18 [0.09, 0.28]
Curvas de Conversión vs Presupuesto (con HDI 90%)
Referral
Paid Ads
Email
SEO
Content
β_log_presupuesto = +0.18 [0.09, 0.28] — el presupuesto tiene efecto positivo pero moderado.
Puntos = observaciones reales. Bandas = HDI 90% posterior predictivo.
Puntos = observaciones reales. Bandas = HDI 90% posterior predictivo.
Diagnósticos MCMC — Resumen de Parámetros
| Parámetro | Media | SD | HDI 90% | R-hat | ESS bulk | Estado |
|---|---|---|---|---|---|---|
mu_alpha |
0.072 | 0.238 | [−0.31, 0.44] | 1.000 | 3 241 | OK |
sigma_alpha |
0.512 | 0.181 | [0.28, 0.84] | 1.001 | 2 887 | OK |
alpha[Referral] |
0.742 | 0.194 | [0.41, 1.07] | 1.001 | 4 102 | OK |
alpha[Paid] |
0.389 | 0.176 | [0.09, 0.69] | 1.000 | 3 784 | OK |
alpha[Email] |
0.219 | 0.168 | [−0.06, 0.49] | 1.001 | 3 621 | OK |
alpha[SEO] |
−0.213 | 0.172 | [−0.51, 0.08] | 1.001 | 3 456 | OK |
alpha[Content] |
−0.528 | 0.191 | [−0.86, −0.20] | 1.001 | 3 389 | OK |
beta_budget |
0.183 | 0.058 | [0.09, 0.28] | 1.000 | 4 847 | OK |
0
Divergencias
8 000
Muestras totales
1.001
R-hat máximo
2 887
ESS mínimo
0.9
target_accept
Comparación de Modelos — LOO-CV
M3: Jerárquico + Presupuesto
LOO = −142.3 · Δ = base
M2: Jerárquico sin presupuesto
LOO = −157.8 · Δ = 15.5
M1: Pooled completo
LOO = −184.2 · Δ = 41.9
Interpretación LOO
Δloo(M3 vs M2) = 15.5 → evidencia moderada-fuerte de que el presupuesto mejora la predicción.
Δloo(M3 vs M1) = 41.9 → evidencia muy fuerte de la estructura jerárquica.
Todos los Pareto-k < 0.7 → estimaciones LOO fiables.
Δloo(M3 vs M1) = 41.9 → evidencia muy fuerte de la estructura jerárquica.
Todos los Pareto-k < 0.7 → estimaciones LOO fiables.
Valores Pareto-k (M3 · 120 obs.)
Posterior Predictive Check — Distribución de Conversiones
Observado
Posterior predictivo (media)
El modelo captura bien la distribución empírica. Las predicciones posteriores (verde) son cercanas a las observaciones (azul) en todos los bins, sin sesgos sistemáticos visibles.
0.94
Bayesian p-value media
0.89
Bayesian p-value SD
0.91
p-value percentil 95
Modelo — Código PyMC 6 (extracto)
import pymc as pm
import arviz as az
import numpy as np
# Parametrización no centrada (evita divergencias)
coords = {"canal": canales, "obs": np.arange(120)}
with pm.Model(coords=coords) as modelo_jerarquico:
# Hiperpriors
mu_alpha = pm.Normal("mu_alpha", mu=0, sigma=1)
sig_alpha = pm.HalfNormal("sigma_alpha", sigma=1)
# Interceptos por canal (non-centered)
offset = pm.Normal("alpha_offset", 0, 1, dims="canal")
alpha = pm.Deterministic("alpha",
mu_alpha + sig_alpha * offset,
dims="canal")
# Efecto del presupuesto (log-estandarizado)
beta_b = pm.Normal("beta_budget", mu=0, sigma=0.5)
# Predictor lineal
logit_p = alpha[canal_idx] + beta_b * budget_scaled
# Verosimilitud binomial
y_obs = pm.Binomial("conversiones",
n=leads, p=pm.math.sigmoid(logit_p),
observed=clientes, dims="obs")
# Muestreo NUTS · 4 cadenas · 2000 draws
idata = pm.sample(2000, tune=1000, chains=4,
target_accept=0.9,
idata_kwargs={"log_likelihood": True})
Insights clave para CULTIVA IA
Referral lidera con 31.2% — invertir en programa de afiliados y casos de estudio. Incertidumbre contenida: 24.8%–38.5%.
Presupuesto importa (+0.18 logit/SD) — pero con rendimientos decrecientes. Punto óptimo ≈ €2k–5k/campaña.
Content tiene el HDI más bajo (10%–20%). Revisar calificación de leads o nurturing. Posible misspecification del canal.