Causal Models Drug Discovery: Why Nose-Tail Correlation Kills More Drugs Than Bad Science

You've seen the numbers. 90%% of clinical-stage drugs fail. Billions burned. Patients waiting. Most people think the problem is biology's complexity. Wrong. T...

causal models drug discovery nose-tail correlation kills more
By Nishaant Dixit
Causal Models Drug Discovery: Why Nose-Tail Correlation Kills More Drugs Than Bad Science

Causal Models Drug Discovery: Why Nose-Tail Correlation Kills More Drugs Than Bad Science

Free Technical Audit

Expert Review

Get Started →
Causal Models Drug Discovery: Why Nose-Tail Correlation Kills More Drugs Than Bad Science

You've seen the numbers. 90% of clinical-stage drugs fail. Billions burned. Patients waiting.

Most people think the problem is biology's complexity. Wrong. The real problem is that we've been building models that learn the wrong thing — correlations that look great in a petri dish but evaporate in a human.

I'm Nishaant Dixit. At SIVARO, we build data infrastructure and production AI systems. Over the last eight years, I've watched machine learning teams throw terabytes of omics data at neural nets and get back pretty ROC curves. But when those models are used to pick drug targets? They fall apart.

Why? Because correlation isn't causation. And in drug discovery, correlation kills.

This guide is about causal models drug discovery — what it is, why it works, and how to actually implement it. Not theory. What we've tested, failed at, and eventually got right.


Most Drug Discovery ML Is Learning the Wrong Graph

Let me be blunt. The standard approach — train a deep learning model on gene expression, protein-protein interactions, and clinical outcomes — doesn't answer the question you need: "If I knock out this gene, will the disease improve?"

It answers: "Given the data I've seen, this gene is associated with the disease."

Those are fundamentally different questions. One is about intervention. The other is about observation.

At first I thought this was a data problem — just get more patients, more samples. Turns out it's a modeling problem. No amount of data can turn a correlation into a causal estimate without the right framework.

Think about battery degradation research. The team at University of Houston developed an AI model to predict battery decay by using generative models that capture causal structure, not just patterns in charging curves New AI Model Predicts Battery Decay to Make Renewable .... They had to separate "this charging behavior correlates with faster degradation" from "this charging behavior causes faster degradation." Same problem, different domain.

Drug discovery is worse. You can't run 50,000 randomized controlled trials on humans to find causal relationships. You have to infer them from observational data.

That's where causal models come in.


What Is a Causal Model? (And Why Your Deep Net Isn't One)

A causal model is any representation that encodes cause-effect relationships. Not "A and B tend to co-occur," but "A causes B, and here's how much."

Formally, you're defining a structural causal model (SCM): a set of variables, a graph of directed edges, and functional equations that describe how each variable is generated from its parents.

python
# Simple structural causal model for drug response
import numpy as np

# True causal structure:
# Genotype -> Drug Metabolism -> Drug Concentration -> Cell Death
# Genotype -> Pathway Activation -> Cell Death

def simulate_causal_data(n=1000):
    # Exogenous variables (independent)
    genotype = np.random.binomial(1, 0.3, n)  # e.g., CYP2D6 variant
    
    # Endogenous (generated by cause-effect)
    drug_metabolism = 0.8 * genotype + np.random.normal(0, 0.2, n)
    pathway_activation = 0.6 * genotype + np.random.normal(0, 0.3, n)
    drug_concentration = 2.0 * drug_metabolism + np.random.normal(0, 0.5, n)
    cell_death = 0.9 * drug_concentration + 0.4 * pathway_activation + np.random.normal(0, 0.3, n)
    
    return {
        'genotype': genotype,
        'metabolism': drug_metabolism,
        'pathway': pathway_activation,
        'concentration': drug_concentration,
        'death': cell_death
    }

data = simulate_causal_data()

That's a toy. Real causal models in drug discovery involve hundreds of variables, known biological pathways, and uncertainty quantification.

The key insight: you can intervene on this model. You can ask "What if we inhibit pathway activation?" by removing the edge from genotype to pathway_activation and setting the value. That's the do operator from Judea Pearl's framework.

Most ML models can't do that. They learn P(Y | X) — the conditional distribution. Causal models learn P(Y | do(X)) — the distribution under intervention.


Why Drug Discovery Teams Keep Getting Burned

In 2024, a major pharma (I won't name them) spent $200M+ on a drug target identified by a deep learning model trained on GWAS data. The model said: "Gene X is the most significant predictor of disease severity."

They knocked it out in mice. Phenotype improved. Went into humans. Nothing.

Here's what happened: Gene X was highly correlated with a metabolic pathway that was causal. But Gene X itself was just a passenger — a downstream effect of the real driver. The model learned the correlation perfectly. It had no way to distinguish cause from effect.

This is the fundamental problem. Observational data contains confounders, colliders, mediators, and spurious correlations. Without causal structure, you're guessing.

Consider the battery domain again. The BattVAE-GP model explicitly incorporates uncertainty quantification and generative modeling with causal constraints to separate degradation mechanisms that are confounded by usage patterns BattVAE-GP: Generative Modeling of Long-Horizon Battery .... Same principle: without causal modeling, your predictions look good on training data and fall apart under distribution shift.

Drug discovery is riddled with distribution shift. The patient population in Phase 3 is never exactly like the preclinical data.


Building Causal Models for Drug Discovery: What Actually Works

1. Start With a Causal Graph — Even a Rough One

You can't do causal inference without structure. But you also can't wait for a perfect graph. Biology is too complicated.

The pragmatic approach: take existing pathway databases (KEGG, Reactome, STRING) and convert them into a directed graph. Then treat it as a Bayesian network. The graph will be wrong in places. That's fine. You'll refine it.

python
# Minimal causal graph using pgmpy (probabilistic graphical models)
from pgmpy.models import BayesianNetwork

# Define edges based on literature and known biology
causal_graph = BayesianNetwork([
    ('Drug', 'Receptor_Occupancy'),
    ('Receptor_Occupancy', 'Signal_Cascade'),
    ('Genotype', 'Drug_Metabolism'),
    ('Drug_Metabolism', 'Drug_Concentration'),
    ('Drug_Concentration', 'Receptor_Occupancy'),
    ('Signal_Cascade', 'Gene_Expression_Change'),
    ('Gene_Expression_Change', 'Phenotype'),
    ('Confounder_Age', 'Phenotype')
])

# You can then learn parameters from data, but keep structure fixed

The graph encodes your assumptions. That's a feature, not a bug. When the model fails, you debug the assumptions.

2. Use Instrumental Variables When You Have Randomization

Randomized trials are the gold standard for causal inference, but they're rare in early discovery. However, naturel experiments exist. Genetic variants (Mendelian randomization) act as instruments. If a gene variant affects drug metabolism but not the disease directly, you can use it to estimate the causal effect of drug exposure on outcome.

We did this for a client in 2025. They had electronic health records and genotyping data. Standard ML said "Drug A improves outcomes." Causal analysis using genetic instruments showed the effect was actually driven by a confounder — patients on Drug A were healthier to begin with. Saved them from a failed Phase 2.

3. Unobserved Confounding Is the Norm — Handle It

In real biological systems, you never observe all confounders. You can't measure everything.

Two techniques work well in practice:

  • Propensity score matching with sensitivity analysis — match treated and untreated subjects on observed confounders, then check how strong an unobserved confounder would have to be to flip the result.
  • Double machine learning (DML) — uses machine learning to partial out confounding while preserving causal estimates under weaker assumptions.

The Microsoft BatteryML platform uses similar ideas for battery degradation — they handle unobserved degradation modes by using generative models that marginalize over latent variables BatteryML: An Open-source platform for Machine Learning .... Same principle applies.

python
# Double machine learning example (using EconML)
from econml.dml import DML
from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier

# Y: outcome (e.g., tumor reduction)
# T: treatment (e.g., drug dose)
# X: features (observed confounders)

dml_est = DML(
    model_y=RandomForestRegressor(n_estimators=100),
    model_t=RandomForestClassifier(n_estimators=100),
    model_final=RandomForestRegressor(n_estimators=100)
)

# dml_est.fit(Y, T, X=X, W=None)
# treatment_effect = dml_est.effect(X_test)

DML doesn't assume the model form is correct. It uses ML flexibly but isolates the causal parameter.

4. Don't Forget Counterfactual Reasoning

The most powerful tool in causal inference for drug discovery is the counterfactual: "What would have happened to this patient if they had received a different drug?"

You can't observe it. But you can estimate it using structural causal models.

At SIVARO, we built a system for a biotech that uses GAN-style counterfactual generators. Given a patient's baseline features and a proposed treatment, the model generates the expected response profile — including side effects — under the do-intervention. This is essentially a causal generative model.

The BattVAE-GP paper from the University of Houston does something similar for batteries: given a charging history, it generates counterfactual degradation trajectories under different usage patterns BattVAE-GP: Generative Modeling of Long-Horizon Battery .... Same math, different domain.


How We Do It at SIVARO (The Nitty-Gritty)

How We Do It at SIVARO (The Nitty-Gritty)

I'll be honest. We tried the "big neural net on everything" approach in 2022. It produced impressive correlation matrices. Zero actionable insights for target identification.

We pivoted hard into causal modeling. Here's our current stack:

  1. Graph construction — automated from literature extraction (LLM + manual curation) plus pathway databases. We use a consensus graph with uncertainty edges.
  2. Causal discovery — we run PC algorithm and GES on observational data, then constrain the output with the literature graph. This reduces false positives from pure data-driven discovery.
  3. Effect estimation — we use a portfolio of methods: DML, causal forest, and linear SCMs with FCI for partial identification. No single method is trusted.
  4. Uncertainty quantification — every causal estimate comes with a confidence interval. If the interval includes zero, we flag it. Period.

The key lesson: causal models drug discovery is not a "set it and forget it" thing. You need domain experts in the loop. Every week we have a meeting where a biologist says "That edge makes no sense" and we update the graph.

But when it works? It's transformative. One of our partners identified a novel target for idiopathic pulmonary fibrosis that had zero association signal in standard GWAS. The causal model said: "This gene mediates the effect of an upstream regulator that is associated with disease. Knock down the downstream gene, you get the same therapeutic effect without toxicity."

They validated it in organoids. It worked.


The Contrarian Take: Causal Models Won't Replace Experiments

There's a hype cycle happening. "Causal AI will discover all drugs." No. It won't.

Causal models reduce the search space. They tell you which experiments are likely to succeed. But they can't replace the experiment. Every intervention you model is a hypothesis, not a fact.

The most dangerous thing you can do is trust a causal estimate with high precision but no biological validation. I've seen teams run double ML on electronic health records, get a p-value of 0.001 for a drug-disease pair, and rush into a trial. The effect was real — in that dataset. But the dataset had a systematic bias (sicker patients got more monitoring, leading to earlier detection, creating a spurious survival benefit).

Causal models caught that because we tested for violations of the positivity assumption. Many teams don't.


FAQ: Causal Models Drug Discovery

Q: Do I need a PhD in causal inference to use these methods?

No. But you need to understand the assumptions. Start with Pearl's "Book of Why" (readable) and then use libraries like dowhy, EconML, or CausalNex. If you can't explain what "unconfoundedness" means in your biological context, you're not ready.

Q: How much data do I need?

Depends on the causal graph size. For a graph with 20-30 variables, you typically need 10,000+ samples with good coverage of treatment assignments. For high-dimensional omics (10K+ features), you need dimensionality reduction first — or use methods like causal structure learning with sparsity priors.

Q: Can deep learning be causal?

Deep learning can approximate causal functions, but it doesn't learn causal structure. You can build a causal deep learning model by embedding a graph into the architecture (e.g., causal GANs, causal normalizing flows). The BattVAE-GP paper does this for batteries — the VAE has a structured latent space that encodes causal mechanisms BattVAE-GP: Generative Modeling of Long-Horizon Battery ....

Q: How do I validate a causal model in drug discovery?

Three ways:

  • Interventional data — if you have any knockout experiments, test model predictions against them.
  • Synthetic data — simulate from your assumed causal graph and check recovery.
  • Robustness checks — vary your assumptions (e.g., drop edges, add unobserved confounders) and see if conclusions hold.

Q: What's the biggest mistake teams make?

Thinking that more data fixes confounding. It doesn't. You can have a billion datapoints but if the confounder is unmeasured, the bias remains. Causal models force you to think about what's missing. That's uncomfortable, but necessary.

Q: Is there open-source software for causal drug discovery?

Yes. dowhy (Microsoft), causalnex, pgmpy, EconML, and CausalNex (QuantumBlack). For drug-specific, PyKEEN does link prediction on knowledge graphs (not causal per se, but can be combined). BatteryML is open-source from Microsoft for battery degradation, but the causal concepts transfer BatteryML: An open-source platform for Machine Learning ....

Q: How long until causal models become standard in pharma?

Three to five years. The shift is happening now. Large pharma are building internal causal inference groups. Regulators (FDA) are starting to ask about causal assumptions in real-world evidence submissions. If you're not learning this now, you'll be behind.


Where This Is Headed

The next frontier is causal foundation models — large models pretrained on biological causal graphs, capable of zero-shot causal inference for new targets.

I'm skeptical but hopeful. We've built a prototype at SIVARO that combines a transformer over causal graphs with a neural structural causal model. It can answer "What happens if we perturb this pathway?" for unseen cell types. Early results are promising — but the generalization is brittle.

The real breakthrough won't come from better algorithms. It'll come from better data infrastructure. You need clean, integrated, longitudinal data with explicit causal annotations (which experiments were randomized, which were observational, which confounders were measured).

That's the boring work. It's also the only work that matters.


Final Thought

Final Thought

Drug discovery is too important to leave to correlation hunters. Every failed trial costs lives — not just money.

Causal models drug discovery isn't a magic bullet. It's a discipline. It forces you to be honest about what you know and what you don't. It forces you to state assumptions explicitly and test them.

We've used it to find targets that standard ML missed. We've also used it to kill projects that looked promising but had no causal basis. That latter part — killing bad ideas early — might be the bigger win.

If you're building a drug discovery pipeline and you're not embedding causal reasoning, you're making an implicit bet that the world is static and confounders don't exist. That bet has already lost.

Build the graph. Estimate the effects. Validate the assumptions.

Everything else is just noise.


Nishaant Dixit — Founder of SIVARO. Building data infrastructure and production AI systems since 2018. Built systems processing 200K events/sec.

Free · No Commitment · 48-Hour Delivery

Get a free infrastructure audit

2-hour remote session. We audit your data infrastructure, identify what's costing you time and money, and deliver a written roadmap with specific, measurable targets. No pitch.

Book Your Free Audit
N
Nishaant Dixit
Founder & Lead Engineer at SIVARO

Building data-intensive systems since 2018. 200K events/sec pipelines, production RAG systems, Kubernetes infrastructure. LinkedIn →

Start a Project
Need help with AI systems?

Production RAG, LLM pipelines, and AI infrastructure — from prototype to production-grade systems.

Explore AI Product Development