company logo

Help center

Go to Gleap
Privacy policyDocs
Powered by
All collectionsLet Kai run your roadmapHow Kai scores a feature request

How Kai scores a feature request

Demand, revenue, strategic alignment and effort. Where each number comes from, how to weight them, and how to override one.

Luca BlaserยทSeptember 14, 2026

Every open feature request carries a score from 0 to 100. It's not a verdict; it's a ranking with its reasons attached, so "why is this at the top?" always has an answer you can check.

The formula lives under Feedback portal โ†’ Kai PM โ†’ Scoring settings. The factors for one request show on the request itself.

The four system factors

Two are measured, two are judged.

Demand is upvotes. Votes lose weight as they age (a vote from a year ago counts half), and each request is ranked against the other requests in your public lanes. A request in a hidden lane can't collect votes, so demand is left out of its score rather than counted as zero.

Revenue is the combined monthly revenue of the accounts behind a request: everyone who voted plus whoever submitted it. Several people from one company count once, at the company's value. The value comes from the value field in your identify call, or from the company record. Requests in hidden lanes count revenue at half weight, because only the submitter is known.

Strategic alignment is Kai's judgement, 0 to 10, of how well the request serves the goals in your company profile. Kai writes a one-line reason with it.

Effort is Kai's judgement, 0 to 10, of how much work it is. With a code repository connected, Kai reads the relevant part of your codebase first, which is what turns a guess into an estimate. Higher effort lowers the score.

Each factor has a weight. Turn one up to make it matter more; the Revenue row has a switch to leave it out entirely. A factor Kai hasn't judged yet simply drops out of the mean, so a fresh request isn't penalised for being new.

Your own criteria

Under Custom criteria you add factors of your own: a title, whether it argues for or against building, a weight, and a description of how to judge it. With Judged by Kai on, Kai scores it from the description on every request. Switch it off and it's a field your team fills in by hand; Kai leaves it alone.

Keep the description concrete. "Fits the enterprise segment" is judgeable; "important" isn't.

Small boards

Ranking needs something to rank against. Below 25 open requests, demand and revenue use fixed bands instead of percentiles, so one upvote scores the same on any small board. The overview says so while it applies.

Overriding a judgement

On a request, the judged factors are sliders. Drag one and the score recalculates; the row shows Edited by you and keeps your value even when Kai re-judges the rest. Reset to AI hands it back. Hover the info icon to read Kai's reason and, if you overrode it, what Kai had suggested.

Measured factors can't be edited; they're what happened.

When scores change

Scores recalculate when something moves: a vote, an edit, a status change, a settings change. Kai also re-checks quiet boards about weekly so vote decay and revenue changes catch up. Re-judging (asking Kai to look at a request again) happens on edits, or on request from the chat.

Two tags come out of the score for free: quick win for high benefit and low effort, and stalled for a request that has gathered no demand in a long time.

Switching scoring off

Score feature requests with Kai PM at the top of Scoring settings stops all calculation and hides scores everywhere. Nothing is deleted; switch it back on and the scores return and refresh.

If a score looks wrong

Almost always it's the mean doing its job: one strong factor diluted by three middling ones. Check the weights first. Then check the judged factors and override the one that's off. If revenue is missing on requests you know come from paying accounts, the identify value hasn't been sent for those contacts yet.

Did this answer your question?
๐Ÿ˜ž
๐Ÿ˜
๐Ÿ˜