The takeaway
Upwork Inc shows a pronounced seasonal pattern over 8 years of data — strongest in June (+8.9%) and softest in March (−12.5%).
Right now
In July, the stock has fallen 57% of years, averaging −0.6%, roughly 2.7 pts behind the S&P 500.
The full picture
Upwork Inc's most dependable month has been June, higher in 6 of 7 years; March has been its least reliable, up just 0% of the time.
| Year | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Win rate % | ||||||||||||
| Median return % | ||||||||||||
| 2025 | ||||||||||||
| 2024 | ||||||||||||
| 2023 | ||||||||||||
| 2022 | ||||||||||||
| 2021 | ||||||||||||
| 2020 | ||||||||||||
| 2019 | ||||||||||||
| 2018 | — | — | — | — | — | — | — | — | — |
Month by month
The stock's clearest edge over the S&P 500 lands in November (+9.6 pts); it has trailed the market most in March (−13.5 pts).
“vs S&P” is Upwork Inc’s average for a month minus the S&P 500’s average for that same month — isolating Upwork Inc’s own seasonal edge from broad market drift.
Reality check
Over the last 5 years, June has closed higher 80% of the time versus 86% across the last 8 years — the pattern is weakening.
Figures are the typical (median) June return and how often it rose — the last 5 years versus the last 8(the heatmap’s default window). This verdict stays anchored to that 8-year window even if you zoom the chart, so it never disagrees with the badges above.
In plain English
Strip the year back and a single month does the heavy lifting: June, up in 6 of 7 Junes while the other eleven tend to blur together.
Its average (+8.9%) and median (+12.4%) land within a hair of each other — the tell of steady, year-after-year gains rather than one outlier doing the work. It is among its calmest months, too, its returns swinging least from year to year (a 10.9% spread). Crucially, the gain is the stock's own rather than a rising tide's: June has cleared the S&P 500 by +8.6 points above the index. That consistency sets it apart from the field, where the average stock manages June only about 52% of the time.
No other month comes close to matching it — the rest of the calendar is unremarkable by comparison. The weaker half of the year is plainer: March has been the soft spot — the weakest of 4 months that average a loss (−12.5%), and the edge isn't year-round — the stock has trailed the S&P 500 in March, December, and July. Its roughest month on record was a −26.2% May in 2019 — a reminder of how hard even a seasonal name can fall.
A long streak recently broke — June had risen 6 years straight before a −14.3% reading in 2025. The pattern has softened of late, June's last five years slipping below its longer-run record.
The takeaway is less about when to buy than what to expect: June aside, the stock's months offer little reliable tilt. With a short 8-year record and returns that swing hard year to year, the signal is best held loosely.
Short answers on the stock's best month (June), its worst (March), and whether it really trades seasonally.
Yes, to a pronounced degree. Since 2018 its best month (June, +8.9%) has run well ahead of its worst (March, −12.5%) — the heatmap above shows how steady that gap has been year to year.
June has been the strongest, averaging +8.9% and closing higher in 6 of 7 years since 2018.
It's the weakest, averaging −12.5% — historically a soft spot, though it still varies from year to year.
Explore
These names have the strongest July track records on record — a starting point for comparison.
Before you trade