Recency is how recently an agency or freelancer last worked on an Upwork contract, measured from the last-contract date on the public profile to the date of the index build, and used in the Index Score when no run-rate exists yet.
Upwork publishes a "last worked" date on public profiles where there is work history. The index reads it and, when the record has only one observation and so no measured run-rate, uses it as the stand-in for momentum. The code grades it in steps: a contract within the last 30 days earns the most, within 90 days a little less, within a year less again, and anything older earns the least. A profile that publishes no date sits in the middle, neither rewarded nor penalised. As soon as a second observation at least 14 days apart exists, the measured run-rate takes over and recency is no longer used.
Recency is a weak signal on purpose. It says only that something was billed recently, not how much, and a single small hourly contract keeps the date fresh. It is used because it is the only forward-looking public fact on a page read once, and it is replaced by a measurement at the first opportunity.
It is not the same as Upwork's own "recent earnings" figure, which some directory cards carry and which the index shows as Upwork's number, with its undocumented window, never as its own.
How Upwork Insights uses it
Recency sets the momentum component for every agency with a single observation; the Insights page also summarises how many of the 28,921 indexed agencies worked within the last 30, 90 and 365 days as of Oct 31, 2026. The rule is in methodology, section 3.