I Gave My Customer Data to ChatGPT β€” It Found the Churners We Missed for Years

I Gave My Customer Data to ChatGPT β€” It Found the Churners We Missed for Years

The Churners Hiding in Plain Sight πŸ“ŠπŸ€–

By Dr. David Jones, PhD (AI Systems & Applied Analytics)


You know that customer of yours β€” the one who opened three tickets last month, asked about pricing twice, and hasn't logged in for eleven days? The account still shows "Active" in your CRM. No flag is raised. No alert fires. Your dashboard glows green, and you go on with your day.


Now imagine someone looked at that same row of data β€” not to confirm what you already believed, but to find the quiet departures hiding inside the noise. That's exactly what happened when I fed three years of customer records into a large language model and asked it one deceptively simple question: "Which customers are about to leave?"


The result was a list of 412 accounts we had never flagged, 68% of whom churned within the following quarter. Sixty-eight percent. Not a rounding error β€” a correction. A reconciliation between what our dashboards said and what the data was actually whispering.


This is not a story about replacing analysts or automating decisions. It's a story about a tool that saw patterns we'd normalized so thoroughly that they stopped looking like patterns at all. And it raises questions worth sitting with: What else are we missing? Why do we miss it? And what does "reading data" even mean now, when the reader has 175 billion parameters and no memory of yesterday's meeting?


The Dashboard Illusion πŸ“‰

Every analytics team I've worked with builds dashboards. They're beautiful. They answer the questions you thought to ask last year. And they are, in a very specific sense, frozen in time β€” not because the numbers don't update, but because the questions do.


A classic churn dashboard might show:

  • 30-day login frequency

  • Ticket volume (7-day window)

  • Contract renewal date

  • NPS score from last survey

Individually, each metric is defensible. Collectively, they describe a customer who is "stable." And that's the problem. Stability is not a state β€” it's a narrative we construct from a handful of proxies. The customer who logs in daily but stops adding new seats isn't stable; she's contracting. But our dashboard has no column for contraction, so she stays green.


Here's a small illustration. Suppose churn probability is modeled as:


$$P( \text{churn}) = \sigma\left( w_1 x_1 + w_2 x_2 + w_3 x_3 + b \right)$$


where $x_1$ is login frequency, $x_2$ is ticket volume, and $x_3$ is time-since-last-purchase. A logistic regression learns the weights from historical labels β€” but it can only learn what was labeled. If you never labeled a customer who quietly stopped using Feature B as "at risk," the model has no way to know that feature-level engagement was a leading indicator. The dashboard inherits the blind spots of the labeling process, and then displays those blind spots back at you with confidence intervals attached.


We were not wrong. We were incomplete. And incomplete is often more expensive than wrong, because nobody goes looking for corrections to a report that looks right.


What the LLM Actually Did (And Didn't) πŸ”

Let me be precise here, because "I gave data to ChatGPT" invites a certain amount of hand-waving.


I did not train a model. I did not fine-tune anything. I prepared a structured extract β€” roughly 14,000 customer records across three years, each with about 38 fields: demographic attributes, usage telemetry aggregates (weekly active days, feature adoption, session depth), support interactions (count, sentiment, resolution time), and billing events. I wrote the prompt as an analyst would write a briefing:

"You are analyzing SaaS customer data for early churn signals. Focus on behavioral trends, not just levels β€” e.g., a customer whose usage is flat but whose session depth has halved over six weeks may be disengaging even if login frequency holds steady. Identify customers where the combination of at least two subtle trends suggests elevated churn risk within 90 days. Explain your reasoning for each."

The model returned 412 names with one-paragraph justifications. I then cross-referenced those 412 against our existing "at-risk" list (built from a logistic regression + a rules engine) and found only 78 overlaps. The remaining 334 were customers we had no process for flagging.


A few patterns the model surfaced that we'd never formalized:

Signal pattern

Example

Why it's subtle

Session depth ↓ while frequency β†’ stable

Opens app daily, but time-per-session dropped 60% over 8 weeks

Frequency looks fine; engagement is quietly eroding

Feature adoption narrowing to a single module

Used 5 modules in Q1, only 2 by Q3

Breadth of usage collapses before volume does

Support sentiment flip + no new tickets

Last ticket was positive; next two are neutral with shorter text

Engagement with support is thinning β€” often precedes self-service abandonment

Billing cadence shift (annual β†’ monthly)

Switched at renewal, then reduced seat count by 30%

Financial commitment dropping even though account stays "active"

None of these was a single-metric threshold. Each required joint interpretation across time-ordered fields β€” exactly the kind of multi-variable, low-signal reasoning that's easy for a human to do in one case and nearly impossible to encode at scale without writing dozens of bespoke rules (or a deep learning model with months of tuning).


An LLM didn't replace our analyst. It parallelized the analyst's pattern-recognition across 14,000 records in one pass. That's not magic β€” it's leverage. But it is a different kind of leverage than we're used to from analytics tooling.


Why Humans Normalize the Quiet Signals 🧠

Here's where I want to push past the "AI is great" framing, because the real insight isn't about the model. It's about us.


Behavioral economics gives us a clean term: normalization bias. The signals that predict churn are often the ones that were once unusual and then became routine. A customer who used to open four modules now opens two β€” but two is still "using the product," so it reads as fine. We've calibrated our attention to what changed visibly, not what shifted quietly.


In organizational terms, this shows up in how we write dashboards and define KPIs. A KPI is a contract: "if X moves by Y%, raise an alert." But churn rarely announces itself through the specific variables we contract on. It seeps in through the variables we didn't think to contract on β€” because at the time, they seemed too soft, too noisy, or too subjective to formalize.


The LLM is useful partly because it has no stake in our existing contracts. It hasn't sat in three quarters of dashboard reviews. It isn't emotionally invested in the KPIs we built last year. It reads the data as if for the first time β€” which, statistically, is close to what a new analyst would do before they get socialized into "how we've always done it."


There's a humbling symmetry there: sometimes the best audit of your process is someone with no memory of it.


A Practical Framework (Not a Recipe) πŸ› οΈ

If you're considering something similar, here's how I'd structure the first pass β€” deliberately lightweight, because the goal is discovery, not deployment.


1. Prepare a trend-rich extract.

Don't just give levels; give slopes. For each customer and key metric, include 4-week rolling values so temporal shape is visible. A flat line and a slowly declining line can have nearly identical means β€” the LLM needs to see the trajectory.


2. Prompt for combinations, not thresholds.

Ask it to find customers where at least two subtle trends co-occur. Single-signal flags are what rules engines already do well; the value of a language model is in synthesizing low-confidence signals into a coherent story.


3. Ask for plain-language reasoning per customer.

This isn't decorative. The one-line explanation lets your team triage: "Session depth halved while login frequency held steady, and module adoption narrowed from 5 to 2." A reviewer can validate or reject that in ten seconds. You're not asking the LLM to be right β€” you're asking it to hypothesize, then applying human judgment at scale.


4. Cross-reference against your existing flags.

The interesting output isn't the full list; it's the delta β€” customers the model flagged that your process didn't. That delta is a map of your blind spots, and a blind-spot map is worth more than another dashboard.


5. Close the loop.

Take 20–30 of the new flags, run them through customer success teams for qualitative validation. Which ones "feel right"? Which ones are false positives? That feedback refines both your rules engine (you may add a feature-depth metric) and your next prompt.


None of this replaces your analytics team. It extends their reach into the long tail of subtle, multi-variable patterns that never made it into a KPI because no one had time to formalize them one by one.


The Privacy Question Nobody Wants to Ask πŸ“

I'd be doing you a disservice if I didn't surface this, because "gave my customer data to ChatGPT" is either the headline of your success story or your liability memo β€” depending on who's reading it.


A few things to think through before you paste production data into any LLM:

  • Residency and caching. Where does the prompt-and-response pair live? Is it used for training? For an enterprise API, that's usually a contract question; for a consumer chat window, it may not be.

  • PII scrubbing. Names, emails, company identifiers β€” do you need to anonymize or synthesize before sharing? If your data has real customer PII, consider generating pseudo-identifiers and mapping them back internally.

  • Schema stability vs. prompt drift. LLMs are good at reasoning over structured fields; they can be lazy or inconsistent when field meanings are ambiguous. A one-line data dictionary in the prompt ("session_depth = median minutes per session, 4-week window") measurably improves consistency.

None of this is a reason not to use LLMs on operational data β€” but it's a reason to treat them like a very capable consultant with access to your books: useful precisely because they see the whole picture at once, and responsible only if you manage what they can see and do with it.


What This Changes (And What It Doesn't) πŸ”„

What it changes:

  • Speed of discovery. Patterns that would take a team weeks to formalize as rules can be hypothesized in an afternoon. You don't deploy the LLM's output; you use its output to know what to build next.

  • Breadth of attention. Your analysts can spend time on the 20% of customers who drive 80% of revenue, while a model pass keeps an eye on the other 90%.

  • Blind-spot visibility. The delta between "what we flag" and "what the data suggests" is a diagnostic for your process itself.

What it doesn't change:

  • Accountability. You still need humans to own decisions, because customers don't churn for reasons that fit neatly into a feature vector β€” they have competitors, budget cycles, personal projects. The LLM sees patterns; only you can see context.

  • Interpretation under ambiguity. Two customers with identical metric trajectories might be on opposite paths (one scaling up quietly, one winding down). The model gives you the candidate story; your team confirms it.

  • The underlying data quality problem. If your telemetry is sparse or mislabeled, a more clever reader won't rescue you. Garbage in, better-read garbage out β€” still garbage.


A Closing Thought 🌐

A few years ago, "reading customer data" meant writing SQL and building charts. Today it also means asking well-structured questions of systems that can hold your entire dataset in working memory and reason over it conversationally. The analyst's job isn't disappearing β€” it's upgrading. From "which metric crossed a threshold?" to "what story does the combination of these trends tell, and what would you check next?"


The churners we missed for years weren't hiding. They were in the data all along, written in the low-amplitude signals that no single dashboard was built to read. We just needed a reader with enough context to see them together β€” and the humility to look again, without our own blind spots in the way.


Dr. David Jones is an AI systems researcher focused on applied analytics, human-AI collaboration, and organizational decision-making.