Completion
Did the job finish, including finishes that happen after a hop to PromptPay, email, or a call centre? Timeout is not automatically failure.
Evaluation
This is the method behind every Devqueuebase program. It is not a vendor score. It is a way to argue about a session without hiding behind averages.
A session is high quality when the user made progress on the job they opened the app to do, without unrecoverable friction, even if the path was not the happy path in your funnel diagram.
A session is low quality when the product spent the user’s attention without advancing that job — loops, dead ends, silent failures, or a “success” event that did not match intent.
Did the job finish, including finishes that happen after a hop to PromptPay, email, or a call centre? Timeout is not automatically failure.
Where did the user hesitate, retry, or rage tap? We distinguish curiosity from struggle. Map pins and photo zooms are often curiosity.
After friction, did the product offer a way back? A retry that works is different from a retry that burns OTP attempts.
Was this the job the user came for? A successful browse is not a failed checkout if they never meant to buy today.
Students score each signal 0–3 with a one-line warrant. The total is not published as a brand index. It is a device for discussion. Two analysts can disagree by a point; they cannot disagree about whether a warrant exists.
Every score ships with a limitation. Examples we accept: “no booking-on-behalf event,” “replay sample excludes low-end Android,” “cross-app PromptPay return is inferred from time, not an ID.” A score without a limitation is incomplete work.
Dashboards still matter. We teach you to place the score next to a funnel, not instead of one. Funnels count. Scores explain.
If you have almost no events, start with instrumentation, not with us. If you need causal claims about a new feature, run an experiment. Session quality evaluation is observational. It will not prove that a new button caused revenue.