Probato
An independent project I started in 2024 that turns qualitative customer reactions into interpretable psychological signals and decision evidence.
Problem
The people who make something know their intent and the context behind it. Customers only see the result. That gap makes it easy for an organization to miss where customer aversion actually begins.
Probato zeroes in on where controversy starts: which content cue triggers which kind of moral aversion. It does not try to predict how far the controversy will spread.
Why qualitative data is difficult
A single short reaction can carry irony, ridicule, stance, emotion, and cultural context all at once. Two negative comments that look alike may come from very different places: concern about harm, a sense of betrayal, unfairness, or resistance to authority.
Sentiment alone cannot explain why customers react, or what an organization should rethink.
Customer psychology structure
I broke the problem into three parts: the content cue, how a reaction is represented, and the unit of review. The representation keeps stance separate from topic, then uses Moral Foundations as coordinates for the direction of the aversion.
The structure does not decide what is morally right. It compares which psychological frames are active in a set of customer reactions.
Technical implementation
The workflow links multi-source collection, data schemas, LLM-assisted labeling, a 6-dimensional Moral Foundations vector, a 768-dimensional semantic embedding, clustering, and a prototype risk score.
6D + 768D
Moral activation and semantic meaning stay separate, so what a reaction is about never stands in for why the aversion is there.
10,713
LLM-coded training examples used to develop the encoder, documented as model-generated labels rather than human ground truth.
Same topic, different psychology
Semantic clusters and Moral Foundations clusters answer different questions. Keeping topical similarity apart from the psychological direction of aversion gives a far more useful read on customer reactions.

Chart summary and data
The IDs simply label the groups the clustering found; they carry no topic meaning. Frame 7 is much larger than the other clusters shown, and its highest mean signal is fairness (0.5243), followed by betrayal (0.4663), degradation (0.3852), authority (0.3256), harm (0.2240), and liberty (0.1756).
| Frame | n | Harm | Fairness | Betrayal | Authority | Degradation | Liberty |
|---|---|---|---|---|---|---|---|
| 7 | 57,128 | 0.2240 | 0.5243 | 0.4663 | 0.3256 | 0.3852 | 0.1756 |
| 3 | 550 | 0.0001 | 0.0000 | 0.0000 | 0.0000 | 0.0001 | 0.0000 |
| 2 | 227 | 0.3786 | 0.2520 | 0.3555 | 0.0323 | 0.1343 | 0.0198 |
| 6 | 94 | 0.5589 | 0.4494 | 0.3817 | 0.0594 | 0.1680 | 0.0384 |
| 0 | 81 | 0.0227 | 0.0873 | 0.0131 | 0.0194 | 0.0301 | 0.0055 |
| 5 | 61 | 0.0012 | 0.0080 | 0.0140 | 0.0007 | 0.0050 | 0.0009 |
| 4 | 60 | 0.0281 | 0.1517 | 0.1121 | 0.0075 | 0.0324 | 0.0101 |
| 1 | 55 | 0.8032 | 0.6404 | 0.3910 | 0.0446 | 0.4048 | 0.0310 |
Case evidence
For a 2026 Starbucks Korea controversy, I pulled together news, comments, community discussions, and official sources at the aggregate level. Reading across platforms and over time showed how the fairness, betrayal, and degradation signals moved, which raw reaction volume alone would miss.

Chart summary and data
The first two sparse intervals on May 18 show high fairness and harm outputs. After the first marked event, all four signals drop. From late May 18 through May 22, fairness is usually highest at about 0.46-0.54, with betrayal around 0.39-0.52, degradation around 0.31-0.43, and harm around 0.20-0.24. The vertical lines mark when the copy appeared, the apology, and the leadership dismissal. These are descriptive three-hour means on a 0-1 model scale, not causal effect estimates.
My role
I ran the whole thing end to end: problem framing, research design, collection pipelines, schemas, modeling, analysis, interpretation, and a public-safe write-up.
I used AI tools for the coding and classification work. I treated model outputs as analytical features to be checked rather than trusted, and kept raw or restricted source text out of this portfolio.
Limitations
This is a research and decision-support prototype, not a validated controversy-prediction model or a live commercial service.
The Moral Foundations labels are LLM-generated features, not human ground truth. Platform sampling, how context is read, and model-dependent stance labels can all shift the findings.