01 — Causal inference
Does customer maturity cause renewal? A two-part causal study
A $300M renewal book rested on an unproven thesis. Part I establishes a +12.9pp causal lift with five converging estimators. Part II maps where the effect lives and where spending stops.
Identification design Triangulation HTE targeting
Decision impact
Pooled lift adopted as the standing planning value for renewal forecasting; segment results feed the executive churn review and a board-level action plan.
02 — Retention
Acquisition quality vs. durable value: a multi-method retention diagnosis
When a competitor disruption drove a 280K subscriber spike, was it real growth or borrowed users? Three independent lenses on the same question.
Survival analysis Segmentation LLM VOC
Decision impact
Reframed leadership conversation from acquisition volume to activation quality and retained LTV.
03 — Prediction
Subscriber churn prediction: survival curves and early engagement signals
Can first-month behavior separate "binge and leave" users from habit builders? Acquisition channel, billing, and engagement decomposition.
Survival curves Cohort analysis Classification
Decision impact
Surfaced channel-level churn risk and "binge and leave" patterns informing onboarding and acquisition spend.
Published writing
Long-form essays on causal identification, measurement, and the discipline behind decision-grade analysis.
Towards Data Science Article
When customers churn at renewal: was it the price or the project?
Separating overlapping churn drivers when promo expiry and use-case completion arrive together.
Towards Data Science Article
LLM summarizers skip the identification step
Connecting LLM summarization failures to causal identification discipline.
Towards Data Science Article
LLM themes are not observations
Why LLM-extracted variables carry a selection, timing, and measurement footprint the downstream model never sees.
⌘
quasi-experimental-pricing
DiD, synthetic control, RDD, and ITS on a synthetic subscription pricing dataset, with LTV translation and breakeven price calculation.
Python Causal inference DiD
⌘
transcript-analysis-pipeline
Three-stage LLM pipeline (extract, synthesize, audit) for decision-grade meeting analysis with explicit grounding and bounded fabrication controls.
Python LLM Evaluation
⌘
llm-churn-reason-mining
Pipeline that extracts and categorizes churn reasons from unstructured text using weak supervision, transformer fine-tuning, and prompt-engineered LLM summaries.
Python Transformers LLM
Series · 11
One churn number can hide very different problems
A single churn rate cannot tell you which lever to pull. The aggregate decomposes into distinct mechanisms, from fit failure to competitive loss, each pointing to a different decision. The number is the start of the analysis, not the end of it.
Series · 10
An activation lift is not a retention lift
Activation and retention are related but do not always move together. A lift can be real improvement, a pull-forward effect, a selection effect, or short-term behavior that fades. The causal question is whether the change kept users who otherwise would have churned.
Series · 09
Optimizing a metric is an intervention
Teams choose metrics because they are available, stable, and easy to move, then treat the proxy as the outcome. Pushing on a proxy is a treatment effect problem. The question is whether the effect transfers to the outcome it was supposed to represent.