The four currencies of friction

In three points

  • Friction is counted in four currencies: time to outcome, attempts before success, assistance sought, and abandonment at each decision point.
  • Each has a specific counting trap. Time on page is not time to outcome, and a retry is not an attempt.
  • The four are reported separately because they trade against each other, and a composite hides the trade.

Friction is what the interaction cost the user, and a cost has to be counted in something. RUCF counts it in four currencies: time to outcome, attempts before success, assistance sought, and abandonment at each decision point. All four are sourced from behaviour, never from asking: ask a user to estimate their own cost and you have collected perception and labelled it friction.

Fig. 01

Four currencies, counted separately

ONE TASK, FOUR BILLS TIME TO OUTCOME184s not time on page ATTEMPTS2.4 a retry is not an attempt ASSISTANCE0.26 asking a colleague is invisible ABANDONMENT18% needs a decision point, not a page NEVER AVERAGED INTO ONE
The four trade against each other, so a single composite conceals the trade. A flow that halves its time by doubling assistance has not improved, and only separate counters can show you that.

Time to outcome, which is not time on page

Time to outcome runs from the moment the user forms an intent to the moment the success condition is met or the attempt is abandoned. Almost no analytics tool measures that window. They measure dwell, which starts when a document loads, ends when it unloads, and counts a tab left open over lunch as forty-one minutes of engagement.

Measuring the real window needs two events most products do not emit: a start tied to the intent rather than the route, and an end tied to the success condition rather than the confirmation page. It also needs an idle rule, because humans leave: ninety seconds without input closing the clock is a defensible default.

Attempts before success, where a retry is not an attempt

An attempt is a distinct formulation of the approach. Submitting the same card number three times because the payment endpoint is flaky is one attempt against an unreliable system. Submitting a different card is a second attempt, because the user re-formed the intent and paid the cognitive cost of deciding what to try next. Counting raw submissions produces an attempt count that rises when your infrastructure degrades.

So count a new attempt when the input changed, when the route to the goal changed, or when a distinct error class was returned. In a form, hash the submitted payload and count distinct hashes. Identical repeats belong in a reliability metric, not in the friction ledger.

Assistance sought, most of which you cannot see

Assistance is every occasion the product was insufficient on its own. Some of it lands in your logs: help centre visits, chat sessions, tickets, in-product searches that return nothing. Most of it does not. Users ask the colleague at the next desk, or read a stranger's answer on a forum you do not own. No instrumentation will reach that.

So report the measured figure as a floor rather than an estimate, and say so in the same sentence. One question at the end of a moderated task narrows the gap: did you ask anyone, or look anywhere outside this product. That answer is reported evidence and enters at 0.70, while the log is observed and enters at 1.00.

Abandonment, which needs a decision point rather than a page

Abandonment is only meaningful where the user was asked something and the answer had a cost. Entering a card, choosing a plan, granting a permission, uploading an identity document: those are decision points. A URL is not. Funnels built on page transitions mislocate the loss by one step, because the user who leaves on the payment page frequently decided on the pricing page.

So define the decision points in the flow before you look at a single number. The useful output is a rate per decision, with the population reaching it stated alongside. Eighteen per cent abandonment at a step reached by 400 people a month is a smaller problem than four per cent at a step reached by 40,000.

Why four numbers and not one

Because the currencies trade against each other, and the trade is the finding. Remove a confirmation step and time to outcome falls while attempts rise, since users now correct mistakes they were previously prevented from making. Add inline guidance and assistance sought falls while time to outcome climbs. A composite absorbs all of that and tells you nothing about which lever moved. Aggregation is a many-to-one mapping: the information required to prescribe was present in the four inputs and destroyed by the arithmetic.

What none of the four can tell you is how any of it felt. Eleven seconds and two attempts is a fact about the world; whether it was experienced as trivial or insulting is a separate quantity, collected separately, from report. Friction without perception is a stopwatch, perception without friction is a mood board.

Signals this affects

The four currencies are the friction measure in Layer 1, and they feed the entire Task surface: task completion, error recovery and navigation clarity.

Count yours


Related: Stop reporting average UX · How to price friction in your own currency