**Tesis actualizada al 19 de marzo por filtración de La Lettre: Biotech Abivax gives AstraZeneca exclusive period to position itself for takeover. Además, mejora en adopción de Obefazimod y arreglos en el modelo de población objetivo en Europa y Asia. La actualización está el terminar la tesis inicial.

Mencioné en el recuento de resultados anual que iba a tomar una gran posición de ABVX por Criterio de Kelly por la posibilidad de una adquisición por parte de alguna gigante farmacéutica. Hay varios argumentos para creer que habrá una compra:

vestings
La Lettre

Otro punto a comentar es las ventas de un fondo de inversiones que invirtió fuertemente en Abivax desde un inicio, Sofinnova Crossover. Estas ventas no son por perder confianza en el activo o haber manipulado el precio con filtraciones o influencers y tener una buena salida, sino que parece ser un reajuste de exposición dado a la explosión del precio el 2025. Ningún directivo de Abivax a vendida una acción, si Sofinnova vendió no es porque esté manipulando ni haya perdido confianza.

Si es tan segura una adquisición y el tratamiento es tan bueno, ¿se explica que es muy riesgoso para esas cías el invertir $17.5B o más, o simplemente esperan confirmación de resultados con los datos de mantenimiento de mediados de este año? Esta pregunta me hice y encontré por X que es posible hacer un análisis Bayesiano para tener una predicción de los resultados de mantenimiento con datos previos. Eso hice.

Metodología del Bayes

Usé datos de Ph2a, Ph2b responders y no-responders, y Ph3 inducción para predecir datos de Ph3 remisión en Ph3 mantenimiento.

Priors: toma el dato del resultado de ph2a, siendo 82/124 a logit(0.661)=0.668, usandolo como mu=0.668, de esta forma se empieza con un previo más cercano a la realidad y no por un mu=1 con alta std o mo=0 con incluso más alta std.

El modelo busca proyectar el resultado de de mantenimiento de la ph3 usando el peso del mantenimiento que en el array son los datos 2 y 3. Esto dado que la baja tasa de éxito de los estudios de inducción arrastrarían hacía abajo el desarrollo biológico a lo largo de las 8 semanas en adelante, con lo que se busca crear el clúster inducción y el mantenimiento para tener un predictivo más adecuado.

El modelo se encarga de aprender que tan difícil es tratar a un refractario con beta_refract de meta análisis de UC con rango de -2.0 y -1.2 (que usa para arrastrar más a la izquierda), mientras que tiene el dato de refractores de ~47% del estudio. Con este ajuste, el uso de la información de la ph2 mantenimiento funciona como techo y las dos distribuciones de refractarios lo lleva a realidad.

Otra diferencia entre estudios, es que ph2 era Open-Label, mientras que ph3 es Ciego, hacemos un ajuste de distribución negativa para la predicción, parecido al refractario. Un 10-20% en escalas subjetivas como Mayo Score, en casos de dolor, al rededor de dolor un 50-70%. Creo que un 30-40% de efecto placebo es conservador.

Agregaré variabilidad entre fases para tener ruido y poder tener una variabilidad por factores desconocido, aumentando el rango de confianza.

Por último, el modelo genera iteraciones en las que hay resultado binario de remisión o no-remisión, donde hay n=226 pacientes y el peso mu fue diseñado con todos los ajustes previos.

		
if __name__ == '__main__':
	# Array
	# 0: Ph2a (Inducción)
	# 1: Ph2b Respondedores
	# 2: Ph2b No-Respondedores
	# 3: Ph3 Inducción (Inducción)

	k_obs = np.array([11, 82, 37, 132])
	n_obs = np.array([19, 124, 93, 636])
	    
	refract_prop = np.array([0.35, 0.50, 0.57, 0.47]) 

	phase_type_idx = np.array([0, 1, 2, 0]) 

	n_futuro = 226
	refract_futuro = 0.47

	raw_p_ind = 11 / 19     # Resultado de ph2 inducción
	raw_p_maint = 82 / 124  # Mantenimiento respondedores

	prior_mu_ind = np.log(raw_p_ind / (1 - raw_p_ind))          
	# mu de prior de ph2 ind
	prior_mu_maint = np.log(raw_p_maint / (1 - raw_p_maint))    
	# mu de prior de ph2 mant respondedores

	is_open_label = np.array([1, 1, 1, 0])

	print(f"\nPrior de Mantenimiento fijado en: {raw_p_maint:.1%} (Logit: {prior_mu_maint:.2f})")
	print("-" * 60)

	with pm.Model() as model:
		mu_ind = pm.Normal('mu_ind', mu=prior_mu_ind, sigma=1.0)
		mu_resp = pm.Normal('mu_resp', mu=prior_mu_maint, sigma=1.0) 
		
		mu_noresp = pm.Normal('mu_noresp', mu=0, sigma=1.0)

		beta_refract = pm.Normal('beta_refract', mu=-1.6, sigma=0.3) 
		#Meta analisis de estudios clinicus de UC indican entre -2.0 y -1.2
		sigma_study = pm.HalfNormal('sigma_study', sigma=0.5)
		study_effect = pm.Normal('study_effect', mu=0, sigma=sigma_study, shape=4)
		
		bias_open_label = pm.HalfNormal('bias_open_label', sigma=0.5) 
		#Tamaño del efecto de ser OL en ph2, restado en ph3. sigma=0.5 para 
		#logit de 30-40%

		mus = pm.math.stack([mu_ind, mu_resp, mu_noresp])[phase_type_idx]
		#logit_p = mus + study_effect + beta_refract * refract_prop
		logit_p = mus + study_effect + beta_refract * refract_prop + bias_open_label * is_open_label
		y = pm.Binomial('y', n=n_obs, p=pm.math.sigmoid(logit_p), observed=k_obs)
		
		study_effect_new = pm.Normal('study_effect_new', mu=0, sigma=sigma_study)
		logit_pred = mu_resp + study_effect_new + beta_refract * refract_futuro
		p_pred_part1 = pm.Deterministic('p_pred_part1', pm.math.sigmoid(logit_pred))
		
		trace = pm.sample(2000, tune=2000, chains=6, target_accept=0.98, cores=3)

	posterior_p = trace.posterior['p_pred_part1'].values.flatten()
	
	k_simulado = np.random.binomial(n_futuro, posterior_p)
	tasa_simulada = k_simulado / n_futuro
	
	p_placebo = stats.beta.rvs(20, 80, size=len(tasa_simulada))
	tasa_placebo_sim = np.random.binomial(n_futuro, p_placebo) / n_futuro
	
	delta = tasa_simulada - tasa_placebo_sim
	
	prob_sup = np.mean(delta > 0) #Ganar al placebo
	prob_clin = np.mean(delta > 0.2) #Lograr significancia contundente, 16% por 
					 #resultados de placebos en sistemas inflamatorios de 14-20%
	hdi_95 = np.percentile(tasa_simulada, [2.5, 97.5])
	    
	print(f"Eficacia Predicha (Media):                              {np.mean(tasa_simulada):.2%}")
	print(f"Rango de Certeza (95%):                                 [{hdi_95[0]:.2%} ; {hdi_95[1]:.2%}]")
	print(f"Delta medio (remisión-placebo):                         {np.mean(delta):.1%}")
	print("-" * 80)
	print(f"Probabilidad de Éxito:                                  {prob_sup:.2%}")
	print(f"Probabilidad de Blockbuster - muy bajo valor-p (>20%):  {prob_clin:.2%}")
	print("="*80)
	    
	fig, ax = plt.subplots(1, 2, figsize=(15, 6))
	    
	ax[0].hist(tasa_simulada, bins=50, color='#2c7bb6', alpha=0.8, density=True)
	ax[0].axvline(np.mean(tasa_simulada), color='k', ls='--', label=f'Media: {np.mean(tasa_simulada):.1%}')
	ax[0].set_title('Predicción de Tasa de Remisión - Obefazimod', fontsize=12)
	ax[0].set_xlabel('Tasa de Remisión')
	ax[0].legend()
	ax[0].grid(alpha=0.3)
	    
	ax[1].hist(delta, bins=50, color='#7b3294', alpha=0.8, density=True)
	ax[1].axvline(0, color='red', lw=2, label='Fallo, 0%')
	ax[1].axvline(0.2, color='orange', ls='--', lw=2, label='Objetivo Comercial, 20%')
	ax[1].axvline(np.mean(delta), color='k', ls=':', lw=2, label=f'Delta Medio: +{np.mean(delta):.1%}')
	ax[1].set_title('Delta: Remisión - Placebo', fontsize=12)
	ax[1].set_xlabel('Diferencia Porcentual')
	    
	ymin, ymax = ax[1].get_ylim()
	ax[1].fill_betweenx([ymin, ymax], 0, 1, color='green', alpha=0.1, label='Zona Éxito')
	ax[1].fill_betweenx([ymin, ymax], -1, 0, color='red', alpha=0.1, label='Zona Fallo')
	ax[1].legend(loc='upper right')
	ax[1].grid(alpha=0.3)
	    
	plt.tight_layout()
	plt.show()		
		
	

Resultados

Eficacia Predicha (Media): Rango de Certeza (95%): Delta medio (remisión-placebo):
51.87% [20.35% ; 83.19%] 31.9%
Probabilidad de Éxito: Probabilidad de Blockbuster - muy bajo valor-p (>20%):
97.11% 76.95%
cccc

Valoración

Ya que tenemos un rango de posibilidades de éxito de la ph3 del estudio toca ver la capacidad de mercado de la terapia. En este caso es uno muy simple, solo incluye al Obefazimod.

En el Corporate Outlook de este mes mostraron que el mercado de UC a nivel mundial puede llegar a $21.2bn al 2032 de $9.2bn el 2025 (https://ir.abivax.com/news-releases/news-release-details/abivax-provides-2026-corporate-outlook/). También, dieron datos más precisos de EEUU, donde estiman 500K pacientes en terapias convencionales con 60% de esos pacientes siendo moderado/severo, ~300K pacientes podrían usar obefazimod, con buena opinión de médicos.

Además, declararon que para el 18 de dic. más del 80% de los participantes completaron el estudio de 44 semanas, demostrando su capacidad pegajosa por resultados + pocos efectos secundarios.

NDA será propuesto a la FDA a finales de 2026, para empezar su comercialización en EEUU. Lo normal es que sea comercial en Europa un año después.

Así funciona el modelo:

Van a haber cuotas de mercado para China. Japón, Europa y EE.UU., lo importante para EE.UU. Es que se cumpla la penetración cuando fijo la cuota en 30% de moderados/severos a 2032, que es 60%*30%=18%, en el caso base es un poco menos de 18%.

En ex-US población adulta para EU y China es el 70% de la población, porcentaje con UC crece hasta 0.9%, en Japón casi el 1%. Los precios son ajustados con comparativos de la competencia en UC y CD, en el caso de EU se ve la creación de símiles generando presión en el precio al tercer año.

modelo NPV

Para el caso de sensibilidades del modelo usamos la ecuación de cuota de mercado con los resultados de la eficacia de la proyección del mantenimiento de la ph3, donde el extremo bajo es 21.24% y el alto 81.86%:

$$ \text{Cuota de Mercado} = \text{Cuota Base (30%)} * \frac{\text{Eficacia Simulada}}{\text{Eficacia Base (52%)}} $$

Ponderando con 20% pesimista, 5% optimista y 75% base: ~360.21/share

Es por estas razones que creo que va a haber buyout, inclusive antes de la presentación de los datos de mantenimiento – el Obefazimod es simplemente muy bueno, los resultados en combinación con Crohn harían que esto valga muchisimo más, es espectacular. También, existe la chance de que los resultados sean malos, pero en el sentido de que los resultados empeoren más de los aceptable por alguna razón (doble ciego u otra cosa desconocida), al fin y al cabo es biotech. Actualmente el precio es muy bajo por la razón de que no hay mucho capital retail en esta industria comparándolo con décadas pasadas y el poco retail que invierte espera resultados a muy corto plazo – incluso con opciones a unas semanas de ciertos anuncios, exagerado. La adquisición se hará y a lo que quiero llegar con esto es que no necesariamente después de la publicación del mantenimiento de ph3 y si hay demora es porque a MdG & co. están trabajando para términos de “Blockbuster” – como el Obefazimod se merece. Solo hay que esperar.

Cálculo de Mercado ex-US

modelo NPV

**Actualización a 19 de marzo, 2026

A vista de filtraciones por parte de La Lettre sobre Astrazeneca con compra de derechos de análsis de datos de la trials de Abivax he llevado una actualización del modelo, principalmente en pacientes y adopción de medicamento, junto con un mejor ajuste de tratados a 2032. Mucho más sólido y realista en mi opinión.

Presentaré una actualización de escenarios de cuotas de mercado con una tasa de descuento del 12% (ya que Obefazimod ya se encuentra derisked) y posiblemente muy alta en caso de haber sinergia por parte de un comprador. Si hay interés en ver escenarios lo ideal es revisar el modelo y ver sensibilidades cambiando los datos.

Si se toma un 9% como tasa de descuento se obtiene: $283, $511 y $374 respectivamente.

Si no hay anuncio de compra por parte de Astrazeneca este 23 de marzo es esperable una caída del precio en bolsa, sin embargo, significa que empieza la subasta por Abivax y el interés no es poco. Predecir el precio que podrían llegar a aceptar las grandes firmas deberíamos ver su deuda e historia de adquisiciones. No quiero mostrar los números, pero en el caso de Astrazeneca y su FY2026E por parte de JPMorgan (no recuerdo el informe que leí pero tengo la imagen) $AZN tiene Net Debt Actual (finales 2025) de $23.4B, dejando un Net Debt/EBITDA de 1.2x, muy cómodo; tienen caja de $5.7B pero un CF operativo de $14-15B 2025 y $15-16B estimado 2026; históricamente grandes adquisiciones pueden estirar el múltiplo de Net Debt/EBITDA a 3x-4x, lo que significa que para llegar a un 3x tendrían que tomar $52.5B de deuda: pueden pagar una gran adquisición.

Lo que quiero decir con esto son dos cosas:

Es por esto que veo que no es imprudente el creer que no habrá adquisición el lunes 23 de marzo, ya que Abivax tiene todos los incentivos y poder de negociación para rechazar una mala oferta por parte de Astrazeneca. Mi problema es: ¿qué es una mala oferta?. Lamentablemente no me siento en el directorio, así que no tengo la más mínima idea ni se me ocurre alguna forma de deducirlo.

Como se puede ver poner un precio objetivo es mucho más díficl que hace unos meses. Puede que haya adquisición el 23, sino, la acción caerá por lo menos por un mes &mdash lo que supongo que durará la subasta. Las dos situaciones me gustan, porque si sucede el 23 tendré la venta prontamente, sino, Marc maximizará el precio con todo el tiempo del mundo.

Con todo lo expuesto estimo mejor dar dos precios: pronta adquisición sin subasta (12% como discount rate) y tardía adquisición con subasta (9% como discount rate).

Pesos: Pesimista - 20%, Base - 60% y Optimista - 20%.

Sin subasta: $291/sh, ~$25.6B en total.

Con subasta: $383/sh, ~$ ~$33.7B en total.

Por favor, revisar el modelo que se encuentra en el índice de la página o descargarlo aquí. Las imágenes del modelo son estas:

Modelo

modelo NPV-2

Proyección de Mercado

modelo addressable market