Opens Dec 1.

Methodology

How the score is produced

A number with no method behind it is decoration. This page says exactly what goes into a PollyX report, how the 0 to 10 score is arrived at, and - just as importantly - what it cannot tell you. If something here contradicts what you see in a report, the report is wrong and we want to hear about it.

1. What gets collected

PollyX searches millions of sources, including global news from 100+ countries; X, TikTok, Instagram, YouTube, Reddit, LinkedIn, Threads, Bluesky, Telegram and Twitch; Trustpilot, Google Reviews, Amazon, the App Store, Google Play, Tripadvisor, Booking.com, Airbnb, Yelp, Deliveroo, G2, Capterra, eBay, Etsy and Steam; Hacker News, Substack, Medium, GitHub, Stack Overflow and Product Hunt; Glassdoor, Indeed and kununu; podcasts; and local platforms such as Bilibili and Zhihu in China, PTT in Taiwan, Kaskus in Indonesia, Reclame Aqui and Mercado Libre in Brazil and Zomato in India. Every report draws on several independent layers, gathered in parallel. Which of them run depends on the brand's industry and market, and every report lists exactly the sources it read:

  • Global news via the GDELT Project: up to 365 days of global news, spanning 100+ countries and 65+ languages. Queries run at several time horizons and sort orders (most recent, most relevant, most negative, most positive) so a report is not built only from whichever articles happen to rank first.
  • YouTube via the YouTube Data API: videos from the last two years discussing the brand, plus their comment threads, which are frequently more candid than the videos themselves.
  • Live web search: at most 12 searches per report across Trustpilot, Reddit, Glassdoor, forums and similar public platforms. Amazon star ratings are fetched directly where the brand sells products there, and Google Reviews where it has physical locations - both are skipped entirely, rather than guessed at, when the brand has neither. This is a hard ceiling, not a target.
  • Community APIs: Bluesky, Mastodon, Hacker News and Apple App Store ratings and reviews, where the brand has a presence on them.
  • Forums and newsletters: Reddit, local forums such as boards.ie, Substack newsletters and their comments, Medium and Tumblr.
  • Developer communities, for software brands: GitHub issues, Stack Overflow questions and answers, and Product Hunt launch comments.
  • Review, app-store and complaint platforms, read in aggregate: Google Play, the Chrome Web Store and the Shopify App Store, eBay and Google Shopping product ratings, Steam reviews for video games, Etsy shop reviews for makers, G2, Capterra, TrustRadius and Gartner Peer Insights for business software, BBB, PissedConsumer and Sitejabber. Each contributes one rating row and its themes; no review from them is ever quoted and no reviewer named, the same rule as Trustpilot.
  • Travel and hospitality, for hotel brands: Tripadvisor, Booking.com, Expedia and Hotels.com guest reviews, Airbnb listings the brand runs, and Yelp for premises, under the same aggregate rule: one rating row per property, never a quoted review.
  • Restaurants and food delivery, for restaurant brands: Deliveroo and Zomato outlet ratings, under the same aggregate rule: one rating row per outlet, never a quoted review.
  • Regional platforms, for reports on their markets: Reclame Aqui complaints in Brazil and Mercado Libre product ratings across Latin America, read in aggregate; Bilibili videos and Zhihu answers in Chinese-language markets, PTT bulletin-board threads in Taiwan and Kaskus forum threads in Indonesia, all described and never quoted.
  • Employer reviews: Glassdoor and Indeed, plus kununu in Germany, Austria and Switzerland, skipped when a report asks for consumer sentiment only.
  • Investor chatter, for listed companies: Stocktwits posts on the company's ticker, described and never quoted. Investor mood is reported as its own thing, not as customer sentiment.
  • Podcasts: episode titles and show notes from Apple's podcast index, plus transcripts of the episodes whose title or show names the brand. Where the feed carries the publisher's own transcript we read that; otherwise we machine-transcribe up to 25 minutes of audio. Machine transcripts can misrecognise names and numbers, so passages are attributed to the show, never to a named speaker, and the brand's own shows are excluded. On a single-market report only shows in that market's language are read.
  • Attention signals: Google Trends search interest and Wikipedia article activity, which say how much people are looking, not what they think.
  • Social platforms: public posts from X, TikTok and Instagram, fetched directly. TikTok contributes video captions and engagement counts: we do not watch the footage, and weight it accordingly. Instagram is read through Meta's official Graph API from the brand's hashtag feed - an interface that returns no usernames, so posters stay anonymous to us - and because hashtag feeds skew to creators and sellers, it counts as buzz rather than customer satisfaction. In stored reports, Instagram and TikTok entries keep only the link, date and engagement counts - no captions and no account names. Reposts, declared ads and promotional spam are removed before analysis. Coverage on these platforms varies by brand and by day. Threads is read through Meta's official API, Telegram public channels through Telegram's own preview pages, and the replies and comments under the posts we find are read as well.

The total is whatever survives that cleanup. It varies by how widely a brand is covered, which is why every report and every score on this site displays its own actual source count and generation date rather than a marketing number.

When PollyX reads a website itself it identifies as PollyXBot and follows the site's robots.txt: how PollyXBot works.

2. What gets thrown away

A note on scale first, because source counts are where sentiment tools mislead most. Some tools advertise tens of millions of sources; PollyX searches the same web through global news and web indexes, so the reach is comparable. Think of a library with a million books. Ask what they say about your brand and you do not read a million books: only a few hundred mention your brand at all. The rest are about cooking and dinosaurs. We search the whole library; your report reads the shelf that matters. That is why a PollyX report cites hundreds of sources rather than millions: millions is the size of the library, hundreds is what actually says something about your brand once everything below has been removed. Every report shows its own real count.

Brand-owned content is excluded from sentiment. Press releases, newswire syndication and the brand's own posts tell you what a company says about itself, not what the public thinks of it. Where that material is interesting it may be noted as context, but it never counts toward a score, a theme or a quote.

Sources that turn out to be about a different entity with the same name are dropped. If you supply "also known as" or "not about" terms when creating the report, those feed the search plan and this relevance filter directly.

Other markets, when you ask for one market only. By default a report covers the brand worldwide with its home market foregrounded. Choosing this market only when you create a report is a hard restriction rather than a preference: news is filtered by the publisher's country, web and video search are run against that country, Amazon ratings come from that country's marketplace (and are skipped where it has none), App Store and Google Play ratings and reviews come from that country's store, and coverage of the same brand elsewhere is discarded rather than down-weighted. Reddit, X, TikTok, Instagram, Bluesky, Mastodon and Hacker News posts carry no country, so those are judged individually on whether the poster is writing about your market. A restricted report is usually a thinner report - that is the trade-off, and where the evidence is thin it will say so instead of quietly refilling from elsewhere. Restricting requires a location; without one the report stays worldwide.

3. How the score is assigned

This is the part most tools are vague about, so plainly: there is no fixed formula and no fixed weighting between the news, video, web and community layers. The score is not a weighted average, and GDELT's -10 to +10 tone values are not arithmetically rescaled onto 0 to 10.

What actually happens is that all five layers - including GDELT's tone values and article volumes - are supplied as evidence to an AI analyst, which judges the balance of positive against negative opinion and places the brand on this scale:

7 to 10 Positive5 to 7 Mixed or neutral0 to 5 Negative

It weighs how many people are talking, how strongly they feel, how recent the coverage is, and how credible the source is. One deliberate correction is applied: review platforms and complaint forums heavily over-represent dissatisfied customers, because unhappy people write reviews far more often than satisfied ones. A handful of complaint pages is not allowed to drag down a brand that is broadly well regarded.

The honest consequence of a judged rather than computed score is that it is reproducible in direction but not to the decimal. Two runs a day apart on the same brand should agree on whether sentiment is positive, mixed or negative, and should broadly agree on the themes. They may differ by a few tenths. Treat the first digit as the signal and the decimal as resolution, not precision.

4. Sample size, window, and confidence

Every score is published with the number of sources behind it and the date it was generated. A score with neither is not a measurement, so we do not show one.

The news window reaches back 365 days at its widest, with the most recent coverage weighted most heavily. Web and community results reflect what was publicly visible at generation time.

Each report also carries a confidence level of high, medium or low, reflecting how much real public evidence backs it. A brand with thin coverage gets a report marked low confidence rather than a confident-looking number. Where there is not enough public data to produce an honest report at all, we say so and refund you rather than generating something that reads authoritative and is not.

AI Visibility checks ask each of the 12 buyer questions once per assistant, live at the moment the check runs and never from a cache or an earlier check: eight assistants through the provider's official API with web search switched on, not through the consumer app, which can answer differently, and Google AI Overviews, Google AI Mode and Microsoft Copilot, which offer no API for this, straight from their live results (DeepSeek is asked in its standard non-thinking mode, the one its app uses by default). Assistants are non-deterministic, so a single ask is one sample. The check therefore prints a margin of error beside its headline share, a 95% Wilson interval over the answers collected; a brand's questions are saved on the first check and re-run word for word so later checks compare like with like; and a tracked brand's page shows consistency across its recent checks, how often each question led and how often each assistant named the brand first, rather than treating any one check as a verdict.

5. What this score cannot tell you

  • It is an AI-generated estimate, not a statistic with a confidence interval. There is no margin of error to quote because there is no sampling frame.
  • It measures publicly expressed sentiment. People who feel strongly enough to post are not a representative sample of your customers, and private opinion is invisible to it.
  • Coverage is uneven by language, country and platform. A brand strong in a market GDELT indexes thinly will look quieter than it is.
  • Reports and AI Visibility checks are written in English. Sources in other languages are read and quoted in their original language with a short English note, and a check asks the assistants in English. X posts are read in English, except on a one-country report, which reads them in that country's language. Arabic-speaking markets are searched in English for now.
  • It is a snapshot. Comparing two reports on the same brand over time is more informative than any single number, which is why the trend chart exists.
  • Language models can misread sarcasm, misattribute a quote, or state something with more confidence than the evidence supports. Every claim in a report links to its source so you can check it, and we would rather you did.

6. Corrections

If a report contains a factual error, a misattributed quote, or a source that is about a different company, email contact@pollyx.org with the report link. We will correct it and, where the error was material, regenerate the report at no charge.

Millions of sources searched per report, the ones that talk about the brand read and cited. Last reviewed 30 October 2026.