← All measurements

How is ASO keyword difficulty actually calculated?

23 August 2026 · Zoubair Haja

Every ASO tool displays a “difficulty” out of 100. None of them say how it is computed. So you get a number you cannot verify, reproduce or challenge — and you are asked to base months of work on it.

Here is ours, in full, constants included. You will be able to recompute it by hand, and above all judge for yourself what it is worth.

The formula

difficulté = 0,65 × force + 0,35 × tauxDeTitre

Two ingredients only: how established the already-ranked apps are, and how many of them explicitly target the keyword. The rest is just how you measure them.

Ingredient 1: the strength of the ranking

pour chaque application du top 10 :
  puissanceAvis  = log10(avis) × 16        borné à [0, 100]
  puissanceNote  = (note − 2,5) × 25       borné à [0, 50]
  score          = 0,75 × puissanceAvis + 0,25 × puissanceNote

force = moyenne des scores

The logarithm is the choice that matters. An app with a million reviews is not a thousand times harder to displace than one with a thousand reviews — it is maybe twice as hard. A linear scale would flatten everything: as soon as a giant appears in the top 10, every keyword would read “100” and the score would stop distinguishing anything.

Concretely: 1,000 reviews give 48 points of power, 10,000 give 64, a million gives 96. The gap narrows as you climb, exactly like real-world difficulty.

The rating counts for only a quarter, on a deliberately narrow range: between an app at 3.5 stars and one at 4.7, the difficulty gap is real but secondary. A poorly rated app is still hard to displace if it has hundreds of thousands of reviews.

One detail that matters: listings whose review count Google does not publish are EXCLUDED from the average, never counted as zero. Counting them as zero would collapse difficulty on every network hiccup — and make every keyword look falsely accessible. It is a mistake we made and fixed; it understated difficulty by 22 points on affected keywords.

Ingredient 2: the title rate

tauxDeTitre = (applications dont le titre contient
               l'expression entière) ÷ 10 × 100

This is the only observable signal of intent. An app that writes the keyword in its name has decided to fight for it; ten apps doing so means an actively contested keyword. Conversely, a top 10 where nobody carries the phrase is a ranking won on fame alone, where the textual ground is open.

The comparison requires the whole phrase, bounded by word boundaries. Without that, “chat” was matching inside “Achat” — and the optimization rate counted imaginary competitors. The kind of bug that is invisible on a dashboard and falsifies everything.

What it looks like in practice

Six keywords from the same universe, measured on 22 August 2026 on the French Play Store:

KeywordDifficultyTitles out of 10
budget769
banque695
gestion budget574
suivi des dépenses430
budget familial411
compte commun390

“budget” and “banque” have almost the same ranking strength, but “budget” is 7 points harder: nine apps out of ten carry it in their title, against five for “banque”. The title rate makes the difference — and it is also what tells you where the ground is open.

What the score does not tell you

And now the admission that matters: these constants — 0.65 and 0.35, the logarithm's factor of 16, the bounds — are calibrated judgments, not coefficients derived from a study. They produce a coherent ordering between keywords, which is their only job. They do not claim to measure a probability.

Compare, don't decide

A score out of 100 is for ordering keywords against each other. It does not tell you whether YOU can rank.

A keyword at difficulty 41 is not “reachable” in the abstract: it is reachable for one app and not another. Difficulty is a property of the ranking; your ability to enter it depends on a relationship between it and you, which the score ignores entirely.

That is why our tool shows a verdict next to the score, and why the verdict is not derived from the score. It compares your review count to that of the least established app in the top 10: if there is an app in there as modest as yours, that is an existence proof, and the difficulty score changes nothing about that proof.

We measured those thresholds: how many reviews it takes to enter a top 10 — a median entry ticket of 7,012 reviews, varying by a factor of 90,000 depending on the keyword.

Computing it yourself

Nothing requires a tool. Open the top 10 for your keyword, note each app's review count and rating, apply the two formulas above, count how many titles contain the phrase, and take the weighted average. A spreadsheet is enough.

What takes time is not the arithmetic — it is redoing it for twelve keywords, in three countries, every week, without tripping over the listings whose review counts Google does not publish. That is exactly what a tool is for, and the only thing it honestly sells.