<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/why-your-best-predictive-model-gives-the-wrong-treatment-effect-63dfcmbr5" -->

---
title: Why Your Best Predictive Model Gives the Wrong Treatment...
description: Predictive model selection criteria like BIC, AIC, and Lasso optimize for outcome fit, not causal validity — meaning they can systematically drop true...
canonical: https://daily.dev/posts/why-your-best-predictive-model-gives-the-wrong-treatment-effect-63dfcmbr5
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Why Your Best Predictive Model Gives the Wrong Treatment Effect | daily.dev
og:description: Predictive model selection criteria like BIC, AIC, and Lasso optimize for outcome fit, not causal validity — meaning they can systematically drop true...
og:url: https://daily.dev/posts/why-your-best-predictive-model-gives-the-wrong-treatment-effect-63dfcmbr5
og:image: https://api.daily.dev/og/posts/63dFCmbr5.png
og:image:alt: Why Your Best Predictive Model Gives the Wrong Treatment Effect
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Why Your Best Predictive Model Gives the Wrong Treatment Effect

**[Towards Data Science](https://daily.dev/sources/tds)** · 15 min read · 0 upvotes · 0 comments

## Summary

Predictive model selection criteria like BIC, AIC, and Lasso optimize for outcome fit, not causal validity — meaning they can systematically drop true confounders that are weakly associated with the outcome but strongly associated with the treatment. This leads to biased treatment effect estimates even when the model fits the data well. The post demonstrates this failure mode in Python, then introduces Bayesian Adjustment for Confounding (BAC), which fits both an outcome model and an exposure model and uses the latter to rescue confounders that predictive criteria would discard. The post also covers the frequentist equivalents — post-double-selection and double/debiased machine learning — and critically explains the sharp edge of the 'adjust for anything that predicts exposure' rule: instrumental variables are statistically indistinguishable from confounders in the exposure model, and adjusting for them amplifies bias. The choice of how aggressively to follow the exposure model is a causal assumption, not something data can resolve.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://towardsdatascience.com/why-your-best-predictive-model-gives-the-wrong-treatment-effect>

## Similar posts on daily.dev

- [From Prediction to Intervention](https://daily.dev/posts/from-prediction-to-intervention-n2aqewbwf) · Medium · 0 upvotes · 0 comments
- [Causal ML for the Aspiring Data Scientist](https://daily.dev/posts/causal-ml-for-the-aspiring-data-scientist-xj4ey04uc) · Towards Data Science · 1 upvotes · 0 comments
- [Issue \#136 - Causal Inference: Why Your Model Cannot Answer "What If"?](https://daily.dev/posts/issue-136---causal-inference-why-your-model-cannot-answer-what-if--d8uzbn6ey) · Machine Learning Pills · 0 upvotes · 0 comments
- [Product Experimentation with Instrumental Variables: Unconfounding LLM Routing Decisions in Python](https://daily.dev/posts/product-experimentation-with-instrumental-variables-unconfounding-llm-routing-decisions-in-python-dxangqznt) · freeCodeCamp · 2 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python)

[View this post on daily.dev](https://daily.dev/posts/why-your-best-predictive-model-gives-the-wrong-treatment-effect-63dfcmbr5)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Why Your Best Predictive Model Gives the Wrong Treatment Effect","url":"https://daily.dev/posts/why-your-best-predictive-model-gives-the-wrong-treatment-effect-63dfcmbr5","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/why-your-best-predictive-model-gives-the-wrong-treatment-effect-63dfcmbr5"},"datePublished":"2026-07-29T15:52:06.439Z","dateModified":"2026-07-29T15:52:36.357Z","description":"Predictive model selection criteria like BIC, AIC, and Lasso optimize for outcome fit, not causal validity — meaning they can systematically drop true...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ec1616907248c6363d820fe79a63f9a3?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ec1616907248c6363d820fe79a63f9a3?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Towards Data Science","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Towards Data Science","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/tds","url":"https://daily.dev/sources/tds"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/why-your-best-predictive-model-gives-the-wrong-treatment-effect-63dfcmbr5","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python","timeRequired":"PT15M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Towards Data Science","item":"https://daily.dev/sources/tds"},{"@type":"ListItem","position":3,"name":"Why Your Best Predictive Model Gives the Wrong Treatment Effect"}]}
```

