Groundwater vs. Profit: A Causal Case Study
How we analyze (and challenge) a -0.26 correlation using real data and modern causal inference tools.
Last year, we compiled a 12-year financial and sustainability dataset for ArcelorMittal by hand. (I literally spent 4+ entire days copy-pasting numbers because the data we wanted didn’t exist in clean form.)
We were curious: could environmental data like groundwater extraction say something meaningful about financial outcomes like profitability?
It turns out, this question is trickier than it seems.
Earlier this week, I wrote about a curious correlation: in ArcelorMittal’s data, we noticed that years with higher proportion of groundwater extraction tended to see lower profits. The correlation was -0.26—not dramatic, but noticeable.
Naturally, the next question was: is this causal?
Today’s post is a technical walkthrough of how we tested that hypothesis—what we learned, what failed to hold up under pressure, and what this kind of analysis can already unlock for industrials and financial institutions. Spoiler: the result didn’t validate, but it taught us a lot.
Step 1: Set the Causal Hypothesis
We wanted to test:
Does an increased proportion of water extracted from the ground cause a reduction in profit for ArcelorMittal?
From a systems-thinking perspective, this isn’t a stretch. Water is essential for steelmaking: it cools furnaces, manages dust, and ensures safety. But over-extraction might point to inefficiencies, environmental stress, or even upcoming regulatory risks.
But causality is tricky. To claim that water use drives profit down, we need to eliminate other explanations.
Step 2: Define the Causal Graph
We used a simplified causal graph to identify backdoor paths and confounding variables. Backdoor paths and confounding variables are similar concepts; broadly speaking they relate to variables one should take into account and control for because they might be common causes for one or both of the variables we’re checking for causality.
In our investigation, the “treatment” was water_extraction_from_ground_pc, the “outcome” was profit. (The language quite obviously comes from the medical world.) So, if I sprinkle too much water on my steel plant, does this cause profits to go down?
These are the backdoor variables we controlled for:
capex(investment may affect both water systems and profit)rnd(innovation could reduce water or improve margins)current_fin_liabandnoncurrent_fin_liab(debt burden affects profits)employees_code_of_conduct_training_pc(a proxy for ESG governance)sustainability_reports_country_nr(external ESG pressure)
The result is a causal DAG (a directed acyclic graph)—the go-to visualization- and thinking tool in the world of causal inference. This one below will not exactly win a beauty contest; the necessary insights, however, hopefully come through. The relationship we’re trying to investigate is between water extraction to the middle right and profit to the bottom left.
Step 3: Run the Causal Model
We used DoWhy to perform a backdoor-adjusted causal estimate using a simple linear regression. There’s an inherent limitation here because some relationships—even causal ones—are not linear in the real world. Nevertheless, for small variations one can approximate everything as linear (for the mathematically inclined reader, this is what Taylor’s theorem tells us).
Here’s the code for running the causal model (it will only work if you have access to our painstakingly collected dataset—available from us on demand):
import pandas as pd
from dowhy import CausalModel
import matplotlib.pyplot as plt
# Load your CSV (replace with actual path)
df_raw = pd.read_csv("arcelormittal.csv")
df = df_raw.set_index('year').T.reset_index().rename(columns={'index': 'year'})
# Cast numeric
for col in df.columns[1:]:
df[col] = pd.to_numeric(df[col], errors='coerce')
# Define variables
treatment = 'water_extraction_from_ground_pc'
outcome = 'profit'
backdoor_vars = [
'capex',
'rnd',
'employees_code_of_conduct_training_pc',
'sustainability_reports_country_nr',
'current_fin_liab',
'noncurrent_fin_liab'
]
# Subset data
df_model = df[[treatment, outcome] + backdoor_vars].dropna()
# Instantiate model
model = CausalModel(
data=df_model,
treatment=treatment,
outcome=outcome,
common_causes=backdoor_vars
)
# View model
model.view_model(layout="dot")
# Identify effect
identified_estimand = model.identify_effect()
print("Identified Estimand:", identified_estimand)
# Estimate effect
estimate = model.estimate_effect(identified_estimand,
method_name="backdoor.linear_regression")
print("Causal Estimate:", estimate.value)When we ran this, our model suggested a causal effect of –22.28 million Euros in profit for each unit increase in water extraction, after controlling for the confounders listed above.
Groundwater extraction was expressed as a percentage of overall water extraction. So, assuming a fairly steady water intake (which seems to be the case), extracting just one percentage point more groundwater (versus other water sources) costs the company close to 23 million Euros in profits. (I don’t know about you, but I’d be mighty fine with an extra 23 million on my company’s bank account!)
Step 4: Refute the Estimate
Every good story has a plot twist. So does this one.
Using DoWhy’s built-in placebo test, we replaced the treatment variable with a randomized placebo. If our original result was real, the placebo shouldn't show a strong effect.
The code for refuting our estimate is simple in DoWhy:
# Refutation (optional)
refutation = model.refute_estimate(identified_estimand, estimate,
method_name="placebo_treatment_refuter")
print("Refutation Result:", refutation)Sadly, though, the placebo effect was close to zero; also it was statistically tighter than the non-placebo run. This means that our original estimate, while strong in direction, might have picked up spurious structure in the data. Oh well.
Step 5: Visualize the Result
Undeterred by our refuted result, we went ahead and created a scatter plot with a regression line anyways to illustrate the original correlation. The trend is clearly negative—but indeed the data points are few and noisy.
It remains an insightful graph—but more datapoints are needed to make any conclusions with certainty.
What We Learned
This is a non-result in the scientific sense: the data didn’t support a robust causal conclusion.
But in real-world data science, that’s still valuable. Here’s what we take away:
1. Correlation ≠ Causation
Even when the correlation is visible and statistically significant, it may not hold under causal scrutiny.
2. Small sample ≠ no insight
Our sample was tiny—only 5–6 usable points after removing missing data. That makes model variance high and refutation tests sensitive. Still, the process of modeling and refuting builds a template for better future analyses.
3. This problem deserves more scale
Causal effects might emerge more clearly if we:
Drill down by geography (ArcelorMittal is a global company with regionally specific risks)
Expand to other steelmakers or industries with similar water dependencies
Include leading indicators like temperature, regulation, or public sentiment
Where We Stand as a Team
We’re not just running one-off regression tests.
My team and I—hats off to my cofounders Alaa and Oliver who spent many sleepless nights on this—have already built out a robust platform for data gathering, structuring, and automated financial analysis. During our recent participation on a hackathon with Zurich Insurance, we built a working prototype for agentic financial analysis—a system that can answer natural-language questions using structured financial data and use the queried insights to generate compliant reporting documents within minutes.
We’re now extending that platform to support causal inference directly, so the kinds of investigations like the one in this article can run faster and at scale. (At the moment I’m the guy doing this in the background, until we have it fully integrated in our platform—but we believe that it’s valuable already!)
Here’s what we currently have:
Our data pipeline scrapes and structures financial + ESG data with ~75% accuracy
Human QA still required, but the time saved is massive
Agentic orchestration workflow with massively automated data analysis, challenging, and financial report generation
We’re now working on embedding nonfinancial data (like water extraction) and causal inference techniques into this platform, and we’re already offering “hand-made” case studies performed by Ari (😇).
Why This Matters (Even Without the Proof)
Causal inference is one of the only ways to answer the question:
What levers actually matter in driving outcomes?
If you’re a financial institution betting on carbon-intense sectors, or a policymaker trying to understand the unintended effects of regulation, or a multinational seeking resilient margins—correlation would already help you a lot (because most analysts don’t even look at that juicy intersection between finance and sustainability!). But correlation alone won’t go far enough.
My team and I believe that the ability to trace and test causal chains is essential infrastructure for 21st-century decision-making.
Even when the answer is "we can’t conclude anything yet", the clarity it offers is valuable.
I, for one, feel pretty confident that the fresh data we’re now able to gather (our data pipeline is working now!) will lead us to serendipitously stumble upon robust and irrefutable causal insights worth tens of millions of Euros in additional profits.
Would You Like to Be Part of This?
I don’t want to sound too salesy here—this space feels somewhat sacred to me because, as you might have noticed, I’m a bit of a geek and the purpose of my life can perhaps best be summed up as geeking out about technical things. That being said… I’m quite excited to announce that we’re opening up a limited number of pilot collaborations starting mid-August.
We won’t have fully integrated and automated our causal inferencing techniques in our platform by then. Those techniques go beyond simple DoWhy applications as outlined in this post and towards neural networks and other fancy stuff. But that integration gap is a good thing, because it means that our pilot collaborators get the opportunity to significantly shape our product.
So: If you’re a bank, asset manager, insurer, or industrial company interested in testing causal relationships, we’d be happy to explore a scoped project with you. We offer the first month for free; after that the project will be priced based on its scope. (For info, the ballpark is €30k over three months for enterprise clients; smaller businesses and startups are also welcome and will receive offers adjusted to their budgets.)
We’re especially interested in:
Use cases involving water, land, and carbon dependencies
Causal stress testing of valuation models
Dynamic reporting frameworks that evolve beyond static ESG scores
📬 Just reply to this post or reach out directly if you’d like to be part of the early cohort.
Wangari’s Curated Reads
This Water Agenda deep dive by Arren Kimbel-Sannit unpacks Arizona’s escalating legal and political showdown over groundwater and housing. With state officials halting suburban development to protect long-term water supplies, and homebuilders suing to reverse those moves amid a housing crisis, the courts are now the battleground for climate-era resource policy. This is a front-row seat to the slow-motion collision between growth, scarcity, and governance.
In this lyrical meditation from Water-philic, Lynn Broaddus invites us to rediscover water not just as a resource, but as the foundational molecule of life itself. Tracing its cosmic origins, biological indispensability, and presence within every cell of our bodies, she reminds us that we didn’t just evolve near water—we are water. For Wangari Digest readers drawn to the science and spirituality of our planet’s most essential element, this essay is a quiet but profound call to reverence.
In an urgent piece from Western Water Notes, Daniel Rothberg sounds the alarm on the hidden costs of our digital infrastructure, especially its voracious appetite for water. Data centers are proliferating to power AI and cloud services, and as a result not only do we have nice chatbots… Communities from Georgia to Arizona are confronting dry wells, depleted aquifers, and hard tradeoffs between growth and sustainability. Ouch.






Thank you for the kind words and link to Water-philic. What an unexpected gift for a Friday morning!
And thank you, of course, for the deep dive into arcane but critical questions about resource extraction. Keep it up!