What our recommendations actually did.
Two signals, one page. Adoption is what users did with our pick in the moment they got it. Satisfaction is what they thought of it 30 days later, after acting. We publish small samples as small samples — there is no number worth lying about here.
Adoption denominator. Bound receipts (signed-in users, parent recommendation row exists) where the owner answered the in-app "did you proceed?" prompt. Anonymous receipts are excluded — there is no closed loop without identity.
Satisfaction denominator. Users who clicked out to a recommended provider, opted in to outcome tracking with their email, and responded to the 30-day follow-up. "Right" = signed up and satisfied. "Wrong" = unsatisfied or switched. Inconclusive responses (did not sign up, too early to tell) are excluded from the rate.
What we will not do. Cherry-pick the window. Recompute when a bad month rolls in. Quietly raise the publish floor to bury a low sample. Every recomputation reads from the same outcome tables; the methodology that defines "right" is versioned in the changelog.