How OneStar reads reviews, and how often it is right.
Every report follows the same steps: fetch the reviews, ask each one the same fixed questions, then count the answers in code. This page sets out what a report reads, what it asks, how the answers were scored against labeled reviews and what the method cannot do.
- labeled reviews per kind of product
- 300
- questions asked of each review
- 12
- reviews labeled for leaving
- 640
- characters kept from any review, at most
- 200
What a report reads
A report names its app or game, its stores, its window and how it picked reviews. These are the rules every report follows.
Three stores
Public reviews from the App Store, Google Play and Steam, matched into one product per app or game. Owners on Pro and Max can connect App Store Connect or Play Console to read their own app's reviews in every country, with their history.
A stated sample
At most the newest 500 App Store reviews in each country a report covers and up to about 30,000 of the newest Google Play reviews. On a busy app that can mean recent weeks rather than the full history, so each report states its sample, its dates and how far back each store reached.
Languages
App Store reviews come from the countries a report covers, in whatever language reviewers there write. Google Play reviews are requested in English and Steam reviews are read in English only. Each review's language is detected in code, and a report that names languages keeps only those.
Reviewers come first
Author names and profiles are never read. Personal details are removed before Jev sees a review, and at most 200 characters of any review are stored.
The same questions, asked of each review
Each review is read on its own by Jev, a language model built for typed judgments. It answers the same 12 questions for every report of a kind of product, and apps and games each have their own list of complaint and praise categories.
Every question is closed. A yes or no question comes back as a probability, a category question as one option from a fixed list with a confidence, and the two scales, how badly a problem hurts and how the reviewer feels overall, as one level of five. Jev never writes a free text answer that code then has to interpret.
Each report names the model and question set it was read with in its About panel. The newest public report was read by Jev (jev-1.14.0) with question set v5.
Jev answers, code does every count
Jev never counts. Shares, trends, star averages, dates and versions are computed by code from the stored answers, so every figure is exact for the reviews read and can be rebuilt without asking Jev again.
Shares carry 95% Wilson intervals on the effective sample size. A difference between apps, audiences or periods is called only when a two proportion test holds after a Benjamini-Hochberg correction for the number of tests made.
Where LLMs come in
On Max reports and on OneStar's public reports, a large language model (LLM) writes short passages next to the numbers: the Reading on the overview, a note beside each top theme, a line on each audience that stands out, notes on spikes and releases, the reasons on each side of an Ask, the verdict of a saved comparison and the opening of the weekly digest. It reads only what code has already counted and the stored excerpts of at most 200 characters, after personal details were removed.
Inside the top themes, the LLM also proposes a few candidate reasons. It does not decide which reviews give them: Jev judges each review of the theme against the candidates, and code counts each reason with a likely range, beside an other row and an unsure row.
It never types a figure or a quote. It writes a placeholder, and code fills in the number or the excerpt from the report. A check drops any passage whose figures do not resolve, that copies review text, or that claims a difference the statistics did not find. The LLM does not judge reviews and nothing it writes changes a count. OneStar is model agnostic, so the LLM behind these passages can change without changing the method.
Unsure answers are shown, not forced
A category answer below its question's confidence cutoff is not forced into a category. It goes to an unsure bucket that every report shows, next to other and unclear, which stay visible too.
The cutoffs were set from the gold sets, so that answers above them are right about as often as their confidence says. The table below lists each one.
On the gold sets, 24.8% of app complaints and 20.5% of game complaints went to unsure, and the complaint categories that remained were right 92.7% of the time for apps and 92.0% of the time for games.
Scored on labeled reviews
Accuracy is measured on gold sets: public store reviews labeled with the answer each question should get, scrubbed and cut to length exactly as a report does it.
The standard set holds 300 reviews for apps and 300 for games, each labeled for every question in the standard set.
The leaving set holds 640 reviews from public reports, labeled for what the reviewer says about their own choice to keep using the product: already left, quitting now, cancelled a paid plan, might leave, came back or nothing about leaving. The 542 app reviews shaped the wording of the leaving question, so the app score is measured on reviews it was tuned on. The 98 game reviews were held out and never used for tuning.
A smaller switching set holds reviews from people who left, labeled for where they went: the named rival, somewhere else, unclear or nowhere. It scores the switching question that comparisons ask, and is not in the table below.
The labeling guide asks for what the text says, as a careful analyst would, without looking at any model output. The star rating is context, not the answer: a five star review can carry a complaint and a one star review can carry praise. A row a second labeler could reasonably label differently is marked uncertain and kept.
The labels were drafted by a language model, and rows where the draft and Jev disagreed were read again by a model that could see Jev's answers (56 for apps and 56 for games). That makes every accuracy number below an upper bound. No person has checked a random sample of these labels yet.
How often Jev agrees with the labels
Measured October 7, 2026 on category taxonomy v7. A yes or no score is the share of reviews answered the same way as the label. A category score counts only confident answers; the share that went to unsure is beside it.
| Question | Apps | Games | Confidence cutoff |
|---|---|---|---|
| Names a problemYes or no, as a probability | 97.0%right on 300 reviews | 92.7%right on 300 reviews | Not used |
| Main complaint categoryOne of 21 options for apps, 17 for games, with a confidence | 92.7%of confident answers right; 24.8% went to unsure (218 reviews) | 92.0%of confident answers right; 20.5% went to unsure (205 reviews) | 0.65 apps, 0.55 games |
| How badly the problem hurtsOne level of 5 | 97.7%within one level, 76.6% exact (218 reviews) | 93.7%within one level, 61.5% exact (205 reviews) | Not used |
| Ties the problem to a change or updateYes or no, as a probability | 96.3%right on 300 reviews | 96.0%right on 300 reviews | Not used |
| Praises somethingYes or no, as a probability | 96.0%right on 300 reviews | 95.7%right on 300 reviews | Not used |
| Main praise categoryOne of 13 options for apps, 11 for games, with a confidence | 95.4%of confident answers right; 19.3% went to unsure (135 reviews) | 91.6%of confident answers right; 26.9% went to unsure (130 reviews) | 0.60 apps, 0.70 games |
| How long they have used itOne of 4 options, with a confidence | 97.3%right, 82.4% when the reviewer says how long | 94.0%right, 75.8% when the reviewer says how long | 0.50 apps, 0.60 games |
| Overall feelingOne level of 5 | 97.7%within one level, 76.3% exact (300 reviews) | 95.0%within one level, 71.7% exact (300 reviews) | Not used |
| Names something concreteYes or no, as a probability | 94.7%right on 300 reviews | 91.3%right on 300 reviews | Not used |
| Asks for something newYes or no, as a probability | 96.3%right on 300 reviews | 98.7%right on 300 reviews | Not used |
| Kind of requestOne of 8 options, with a confidence | Not scoredno gold labels yet | Not scoredno gold labels yet | 0.55 apps, 0.55 games |
| Says they are quittingOne of 8 options, with a confidence | 95.9%right on 542 reviews, the set that shaped its wording | 93.9%right on 98 reviews, held out from tuning | Not used |
| Quote for the main complaintThe sentence a report quotes | 85.8%match the labeled sentence (218 reviews) | 83.4%match the labeled sentence (205 reviews) | Not used |
| Quote for the main praiseThe sentence a report quotes | 90.4%match the labeled sentence (135 reviews) | 83.8%match the labeled sentence (130 reviews) | Not used |
Yes or no questions and the leaving question come back as probabilities, and code counts an answer at one half or more; they and the two scales have no confidence cutoff. For the standard set, Jev reads about 3,766 tokens per app review and 3,247 tokens per game review.
What the method cannot do
Every review of a busy app
App Store reads stop at the newest 500 per country and Google Play at about 30,000, so a report on a busy app covers recent weeks. The sample and dates are on every report.
Every language
Google Play reviews are requested in English and Steam reviews are read in English only, so reviews in other languages on those stores are mostly missed. Most gold set reviews are in English too, so accuracy in other languages rests on fewer labeled reviews.
Steam by version
Steam reviews carry no game version, so a patch shows up in the weekly trend rather than a version table.
Who a reviewer is
Author fields are never read, so a report knows a reviewer only through what the review says and cannot follow one person across reviews.
Everyone who uses it
Reviews come from people who chose to write one, and they lean toward strong feelings. A report describes reviewers, not every user of the product.
Score every question
The kind of thing a reviewer asks for has no gold labels yet, so it carries no accuracy score.
How to cite a report
Link the report page and name OneStar and the review window, for example:
OneStar, 2,000 App Store and Google Play reviews from the last 90 days.
Shares are of all judged reviewers unless the report says otherwise. To cite the accuracy figures, link this page and give the eval date, October 7, 2026.
See the method at work.
Every public report names its sample, its model and its question set, and every number opens the reviews behind it.