Client & Agency
Sentiment analysis 10 min read

What is customer sentiment analysis? A practical guide

What customer sentiment analysis is, how NLP scores emotion, where it's accurate and where it lies, plus a workflow to turn calls and reviews into decisions.

Updated June 13, 2026

Customer sentiment analysis is the practice of using software (usually natural language processing) to read the emotional tone of what customers say and score it as positive, negative, or neutral, so you can track how feeling about your product or service moves over time. Here is the argument this guide makes: a sentiment score is not the answer, it is a pointer. The number tells you where to look; the verbatim quote behind it tells you what to do. Teams that obsess over the aggregate score and never read the underlying text end up confidently wrong. Teams that use the score to route attention and then read the actual words win.

This guide covers what sentiment analysis actually measures, the three approaches that power it, where the accuracy is real and where it falls apart, a workflow you can run this quarter, and the channel almost everyone forgets: live calls and meetings.

What customer sentiment analysis actually measures

At its simplest, sentiment analysis takes a piece of text (a review, a support ticket, a survey comment, a chat message, a call transcript) and assigns it a polarity: positive, negative, or neutral. More advanced systems add intensity (how strongly) and sometimes emotion categories (frustration, delight, confusion).

It helps to separate three things that get lumped together:

  • Polarity is the direction. Is this comment broadly favorable or unfavorable.
  • Intensity is the strength. "It's fine" and "I love this" are both positive, but not equally.
  • Aspect is what the sentiment is about. A review can be positive about your support and negative about your pricing in the same sentence. Aspect-based sentiment analysis splits those out instead of averaging them into one misleading score.

That last distinction is where most simple tools fail. If a customer writes "the onboarding was great but the app keeps crashing," a polarity-only model averages it to roughly neutral and you learn nothing. Aspect-based analysis tells you onboarding = positive, reliability = negative, which is the part you can act on.

The three approaches, and why it matters which one you're using

Almost every sentiment tool on the market uses one of three methods. You should know which one you're buying, because their failure modes differ.

Lexicon / rule-based
  • How it works: a dictionary of words scored for sentiment, plus rules for negation, intensifiers, and punctuation.
  • Best for: short social and review text; fast, transparent, no training data needed.
  • Breaks on: sarcasm, domain jargon, and context the dictionary never saw.
  • Example: VADER, an open-source tool tuned for social media.
Machine learning / LLM
  • How it works: a model learns from labeled examples (classic ML) or reasons over context (large language models).
  • Best for: longer text, domain-specific language, aspect-based analysis, and detecting nuance.
  • Breaks on: opaque scoring you cannot audit, and cost or latency at high volume.
  • Example: most modern vendor tools and LLM-based pipelines.
How the engine works Approaches differ in setup cost, transparency, and where they break.

The lexicon approach is worth understanding because it is transparent and you can reason about it. Take VADER (Valence Aware Dictionary and sEntiment Reasoner), an open-source, rule-based tool tuned for social media text. It scores each piece of text into a normalized "compound" value between -1 and +1, and its own documentation gives standard cutoffs:

positive:  compound score >= 0.05
neutral:   compound score > -0.05 and < 0.05
negative:  compound score <= -0.05

The lexicon behind it was built by 10 trained human raters scoring roughly 7,500 features, keeping only items where the raters agreed (standard deviation under 2.5). That is the useful idea to carry into any tool you evaluate: sentiment scores are only as good as the human judgment they were calibrated against, and the cutoffs are conventions, not physics. A "neutral" band from -0.05 to 0.05 is a choice someone made. Know what your tool's choices are.

Where sentiment analysis is accurate, and where it lies

This is the part the vendor pages skip. Sentiment analysis is genuinely useful, but it has predictable blind spots. Knowing them is the difference between a helpful signal and a misleading one.

  • Sarcasm and irony. "Oh great, another outage. Love it." reads as positive to most simple models. Sarcasm is the single most common cause of flipped scores.
  • Negation and scope. "I would not say this is bad" is positive, but a naive model sees "bad" and downgrades it. Good tools handle negation; verify yours does.
  • Mixed aspects. As above, one comment praising support and trashing pricing gets averaged into a meaningless neutral unless you use aspect-based analysis.
  • Domain language. In finance "this stock is sick" is bad; in gaming it's high praise. General models miss this until tuned on your domain.
  • Comparative and conditional statements. "Better than the last vendor we tried" is faint praise, not a rave. Models routinely overscore comparisons.
  • Neutral that isn't. Factual statements ("the call dropped at 3pm") carry no sentiment words but describe a bad experience. Polarity scoring sees neutral; the customer is unhappy.

The practical takeaway: trust sentiment analysis for direction and trend, distrust it for any single verbatim, and always read a sample of the raw text behind a moving score. The score finds the haystack. You still have to read the needle.

A sentiment workflow you can run this quarter

You do not need a data science team to start. You need to pick channels, score them consistently, route the negatives to a human fast, and close the loop. Here is the loop.

  1. 1

    Pick your channels

    Start with the highest-volume, highest-stakes text you already have: reviews, support tickets, survey comments, and (the one people forget) call and meeting transcripts.

  2. 2

    Score consistently

    Run one tool or model across everything so scores are comparable. Decide your positive/neutral/negative cutoffs once and write them down. Tag aspect where you can (product, support, price, onboarding).

  3. 3

    Read the negatives first

    Sort by most negative and read the actual verbatims. This is non-negotiable. The score told you where to look; the words tell you what is wrong.

  4. 4

    Route and act

    Send detractors to a human within hours, not weeks. Turn recurring themes into owned action items with a name and a date attached.

  5. 5

    Re-measure and trend

    Track sentiment by aspect over time, not as one blended number. A rising negative trend on "reliability" is a signal; a flat blended score hides it.

The sentiment loop Score to find signal, read to understand it, act, then re-measure.

The step teams skip is reading the negatives. It feels inefficient. It is the entire point. A dashboard that says "sentiment down 4% this month" is worthless until someone reads the twenty angriest comments and notices they all mention the same broken feature. For the broader system around this, see our guide on how to improve client satisfaction, which makes the case that satisfaction is a delivery problem, not a survey problem.

The channel everyone forgets: calls and meetings

Most sentiment analysis projects start and stop at text channels: reviews, tickets, social, surveys. That leaves out the richest source of customer sentiment you have, which is what customers actually say to your face on calls.

A quarterly business review, a renewal conversation, a support escalation call, a discovery meeting: those contain the clearest, most candid sentiment signals you will ever get, and they almost always evaporate the moment the call ends because nobody captured the words. You cannot analyze sentiment you did not record.

This is the honest place to mention what we build. Scribbl is an AI notetaker for Google Meet that records, transcribes, and summarizes calls from your browser with no bot joining the meeting. The point for sentiment work is simple: once a call is a clean, speaker-attributed transcript, it becomes analyzable text like any review or ticket, and you can read back exactly what a client said and how they said it. Teams running this across customer conversations should look at Scribbl for Teams (which adds Zoom and Microsoft Teams) and, if this is about deals and renewals, Scribbl for sales. It's free for individuals, with Pro for unlimited use.

To be fair about scope: Scribbl is not a sentiment dashboard. It does not roll thousands of reviews into a polarity chart. What it does is make sure the highest-signal channel (the actual conversation) exists as text you can read, search, and feed into whatever sentiment process you run. If you want a deeper look at extracting signal from conversations specifically, read what is conversation intelligence.

0.05
VADER compound-score cutoff between neutral and positive (and -0.05 for negative)
4%
of high-effort customers intend to repurchase, vs 94% of low-effort ones (Gartner CES)
Two numbers worth anchoring to VADER documentation (cjhutto/vaderSentiment) and Gartner Customer Effort Score research. As of 2026-06-14.

The CES number matters here because it tells you what to do with negative sentiment once you find it. Gartner's Customer Effort Score research found that only 4% of high-effort customers intend to repurchase, against 94% of low-effort ones. Negative sentiment is very often effort sentiment in disguise: customers who had to chase you, repeat themselves, or wait. So when your sentiment work surfaces a detractor, the fix is usually to remove friction, not to send a gift. More on that in how to manage client expectations.

Common pitfalls that waste sentiment projects

  • Watching one blended score. A single company-wide sentiment number averages away everything useful. Trend by aspect and by segment instead.
  • Never reading the verbatims. Covered above, and it is the most common failure. The score is a pointer.
  • Chasing benchmark accuracy. A model that scores 95% on a public dataset can score far lower on your jargon-heavy, sarcastic, multi-topic text. Audit on your own sample.
  • No human in the loop for detractors. Sentiment analysis that does not trigger a fast human response is just a thermometer in an empty room.
  • Ignoring the call channel. The most candid sentiment lives in conversations, and it is lost unless you capture it.

Frequently asked questions

What is the difference between sentiment analysis and emotion detection?

Sentiment analysis assigns polarity (positive, negative, neutral) and sometimes intensity. Emotion detection goes further and tries to label specific emotions like anger, joy, frustration, or confusion. Emotion detection is harder and less reliable, because emotions are subtler and more context-dependent than simple polarity. Start with sentiment, add emotion only if you can validate it on your own data.

How accurate is customer sentiment analysis?

It depends entirely on the text and the tool. On clean, single-domain benchmark datasets, modern models can score above 90% agreement with human labels, and some published research models claim higher. On real customer text full of sarcasm, jargon, and mixed topics, expect meaningfully lower. The honest answer is to never trust a vendor's headline accuracy number until you have checked it against a hand-labeled sample of your own data.

Can I analyze sentiment from call transcripts, not just text?

Yes, and you should, because calls carry the clearest sentiment signal. The requirement is a clean transcript with speakers labeled. Record and transcribe the call first (for Google Meet you can do this with a browser tool like Scribbl that needs no bot in the meeting), then treat the resulting text exactly like a review or ticket. See how to record Google Meet for the capture side.

Do I need to build a model, or can I buy a tool?

For most teams, buy. Building and maintaining a model only makes sense when you have a large, domain-specific corpus and the data team to support it. Off-the-shelf tools and LLM-based pipelines handle the majority of cases. The thing you control either way is the workflow: consistent scoring, reading the negatives, routing to humans, and re-measuring by aspect.

How is this different from a CSAT or NPS survey?

Surveys give you a structured number from people who chose to respond, usually after the fact. Sentiment analysis reads unstructured language from everyone who left a comment, ticket, or call, including the silent majority who would never fill out a survey. The two complement each other: the survey gives you a clean metric, sentiment analysis gives you the why and catches the customers surveys miss.

Try Scribbl

Let your meetings take their own notes.

Scribbl records, transcribes, and summarizes your Google Meet calls from your browser. No bot joins the call. Free forever for individuals.

Add to Chrome · It's free