Rate by country is the hourly rate freelancers or agencies in one country advertise on Upwork for a skill, summarised as a median and a middle half so that countries can be compared.
Upwork sets no rates. Each freelancer prints an hourly rate on their profile and each agency a rate range, and those figures vary with the cost of living where the person is, the depth of the local market in that skill, how much competition there is for the same jobs, and the individual's record. Grouping profiles by country and taking the median gives one number per country; the middle half, from the 25th to the 75th percentile, says how wide the spread is. The advertised rate is a starting point, not a price: a freelancer can bid differently on each proposal, and the client pays the marketplace fee on top of whatever is agreed.
Two misreadings are common. A low national median does not mean the top of that market is cheap; the best-rated profiles in a low-median country often ask what mid-market profiles ask in an expensive one, so a client filtering on country alone gets the median, not the market. And comparing medians across countries without the sample sizes is unsafe, since a country with a handful of profiles in a skill produces a median that moves with one person's rate change.
How Upwork Insights uses it
The rate pages give every indexed skill a median, a middle half and a table of rates by country, computed from the advertised rates of freelancers with $10,000 or more in public earnings, and a country gets its own page, such as /rates/python-developers/India, once enough profiles are listed there. The worldwide median for Python Developers is $35/hr, for instance, and the country pages show agency medians too: $15/hr among India's agencies. Newer profiles are not in the sample, so medians run higher than Upwork as a whole.