Research · How we draw the boundaries
We run one identical method across every app we track: pull the public review feed, classify each written complaint, and report the 1–2 star share against Apple's own star distribution. Below is what that same method returns for 3 tracks serving completely different people.
across 21 Field service apps it is 7.4%;across 14 AI companion & wellbeing apps it is 6.5%;across 11 Shift work & scheduling apps it is 3.8%. That is not a rounding difference, and it is not one bad app dragging a line down — these are the middles of 3 separate distributions.
These are the categories with the widest spread across the tracks. Read them as structure, not verdict: the apps are used by different people in different situations, so they fail in different places.
| Category | Highest share | Track | Spread | Ratio |
|---|---|---|---|---|
| crash | 18.0% | Shift work & scheduling | 11.7 pp | 2.9× |
| login | 11.5% | Shift work & scheduling | 9.0 pp | 4.6× |
| price | 7.2% | AI companion & wellbeing | 6.0 pp | 6.0× |
| subscription | 6.0% | Field service | 5.2 pp | 7.5× |
| billing | 5.6% | Field service | 5.0 pp | 9.3× |
Every category, every track, computed the same way. Highlighted = the highest in the row.
| Category | Field service | AI companion & wellbeing | Shift work & scheduling | Spread |
|---|---|---|---|---|
| crash | 11.9% | 6.3% | 18.0% | 11.7 pp |
| login | 2.6% | 2.5% | 11.5% | 9.0 pp |
| price | 5.4% | 7.2% | 1.2% | 6.0 pp |
| regression | 3.0% | 2.6% | 6.9% | 4.3 pp |
| missing | 5.7% | 3.9% | 6.4% | 2.5 pp |
| subscription | 6.0% | 2.9% | 0.8% | 5.2 pp |
| billing | 5.6% | 0.8% | 0.6% | 5.0 pp |
| support | 5.0% | 1.6% | 1.5% | 3.5 pp |
| ads | 0.4% | 2.6% | 1.2% | 2.2 pp |
| sync | 1.1% | 1.1% | 2.5% | 1.4 pp |
| perf | 1.7% | 0.5% | 2.4% | 1.9 pp |
| competitor | 1.4% | 1.4% | 1.2% | 0.2 pp |
| ux | 1.4% | 0.5% | 1.2% | 0.9 pp |
| accuracy | 0.9% | 0.8% | 1.3% | 0.5 pp |
Shares are the median across the apps in each track of that category's percentage of the app's written complaints. Categories are assigned by rule-based classification and then manually reviewed; unclassified complaints are left out rather than forced into a bucket.
Because a complaint rate is only a comparison if the things being compared actually compete for the same user. A field-service app and a shift-scheduling app might both sit in the same vendor's product suite, but the person tapping the screen is different, what they were trying to do is different, and what counts as a bad evening is different.
So each track gets its own median, its own ranking, its own coverage figures, and its own collection date. A track with fewer than 3 apps gets no rank and no multiple on its pages — it still gets published, just without pretending it has a distribution behind it. Two numbers have no median worth quoting; three is where we start.
3 tracks means 3 baselines to recompute every time anything changes, and every new app has to answer "which group does it compete in?" before it gets a page. That answer is a judgement call and we write it down per app. It also means the reply to "can you rank us against everyone you track?" is sometimes no, and here is why.
Free, no signup. Send us your App Store link and we'll classify your reviews and send back the breakdown — ranked against your own track, not against every app we happen to track.
How it works →