I measure whether social is working.
Four years measuring social at PepsiCo and Cybage. Every number on this site is recomputable from published code.
Selected work
Share of voice is lying to you
Reported as raw mention count, share of voice treats a product recall as a marketing win. The brand being dragged across the internet posts its best month on record, and the deck says it is winning. Here is what that costs, measured across six competing brands.
- The question
- Which brand owns the conversation, once you stop counting complaints as wins?
- Data
- 22,319 mentions across six brands, one quarter. Synthetic and disclosed.
- Method
- Explainable sentiment, taxonomy for reporting, NMF on the residual for discovery.
- Decision it drives
- Where to defend, where to amplify, and which spike is a real crisis.
src/sov.py.
Two brands hold a tenth of the conversation and none of the goodwill. Volume alone hides it completely.
share_of_voice(), reproduces
on a clean checkout.
Solara holds 13.7% of all mentions and 0.0% of the favourable ones. Halcyon holds 10.1% and, again, 0.0%. On a volume dashboard both look like mid-table competitors worth planning against. Weight the same mentions by sentiment and the share they hold turns out to be entirely complaint.
The mirror image matters just as much. Verdant converts 16.5% of volume into 32.3% of favourable conversation, the largest positive gap in the set, while a volume ranking puts it fourth. The gap between the two dots is the finding, and a single-number chart cannot express it.
Two more, in full
Three ways creative tests get called wrong
Four A/B tests, four different verdicts. Why "not significant" and "no difference" are opposite findings, and what peeking at a running test really costs.
Your engagement rate doesn't match mine
Two people pull the same month and get numbers three times apart. One definition, aggregate rates, and timing advice with a sample-size floor.
A note on confidential work
Everything published here runs on synthetic or public data. Nothing from PepsiCo or Cybage appears on this site. No exports, no screenshots, no indexed figures, no anonymised client numbers.
That is a deliberate choice rather than a gap. Social listening runs on public conversation by definition, so the method can be demonstrated in full without touching anything an employer owns. The synthetic generators plant known events at known dates, which means the pipeline can be tested against ground truth rather than admired. A real export could never support that.
What I can talk about in an interview is the decisions the work drove. What I will not do is publish an employer's numbers.