What is Job Success Score?
Job Success Score (JSS) is Upwork’s public 0-100% reliability rating, displayed prominently on every freelancer profile. Calculated from a 24-month rolling window of all closed contracts, weighing client outcome, private feedback, contract closure mode, repeat-hire rate, and the long-term-vs-short-term contract ratio. The single biggest organic-discovery lever on the platform.
- 24-month rolling window: old wins fall off, recent stumbles weigh more
- Top Rated needs ≥90% sustained for 13 weeks
- Hidden until your 4th closed contract with feedback
JSS, in one paragraph
Job Success Score is Upwork’s 0-100% public rating of a freelancer’s reliability over the last 24 months of closed contracts. It is computed from client outcome (positive / neutral / negative), private feedback (the 1-10 score the client gives that you never see), public star rating, contract closure mode (mutual / no-show / dispute / auto-close idle), repeat-hire rate, and the ratio of long-term to short-term contracts, all weighted by recency. Visible publicly only after your 4th closed contract with feedback. Top Rated requires JSS ≥90% sustained for 13 weeks; Top Rated Plus adds a $10k+ earnings-in-12-months requirement on long-term work. JSS is the single biggest discovery lever on Upwork, search ranking, algorithmic invitations, and Enterprise-job access are all gated by it.
Five mechanical truths about how Upwork calculates JSS
Upwork has never published the exact formula, but the inputs and weighting are well-documented. Here is what is actually happening every time a contract closes on your account.
01Recalculated on every contract close
Every time a contract closes, mutual end, client-initiated end, freelancer-initiated end, or auto-close after 30 days idle, Upwork triggers a JSS recalculation for that freelancer. The score you see today reflects every closed contract in the rolling 24-month window, weighted by recency and contract size.
02Positive outcomes lift the score
A clean positive outcome is: 5-star public review, mutual close (both sides agree to end), high private feedback (the score the client gives privately, never shown to you), and a repeat-hire by the same client. Long-term retainer contracts that close cleanly weigh more than 3-day micro-jobs: Upwork explicitly favours long-term relationships.
03Negative outcomes drag the score
Disputes (especially refund disputes), client no-shows after hire, low private feedback (clients leave a public 5-star and a private 6/10: the private number is what tanks you), contracts that auto-close idle after 30 days, and clients who never return for a second hire all push JSS down. A single dispute on a recent high-value contract can drop a 100% score by 8-15 points.
04Hidden until 4 closed contracts
JSS is calculated from contract one but only displayed publicly on your profile after the 4th closed contract with feedback inside the rolling window. New freelancers and freelancers returning after a long break see a "Job Success: Not yet enough data" placeholder. Strategic implication: the first 4 contracts are the ones where you can afford to be most picky on fit.
05Top Rated and Top Rated Plus tiers
Top Rated requires JSS sustained at 90%+ for 13 consecutive weeks, $1,000+ earned lifetime, profile 100% complete, no warnings on the account. Top Rated Plus is a stricter overlay: 90%+ JSS, $10,000+ earned in the last 12 months, and the bulk of that earning on long-term ($10k+ single-contract or 6+ months) work. Top Rated Plus unlocks invite priority, lower fees, and direct access to Enterprise clients.
Four moments where JSS directly drives your earnings
JSS is not just a vanity metric: it gates access to the highest-value parts of the Upwork platform. These are the four moments where the score becomes a hard commercial filter.
Search ranking on Upwork
When a client posts a job and browses freelancer search results, Upwork sorts the top results heavily by JSS within the relevant skill bucket. A 95% JSS profile appears on page 1; an 80% profile gets buried on page 4 of the same search even with identical skills, rate, and earnings. JSS is the single biggest organic-discovery lever on the platform.
Algorithmic invitations from clients
Many clients use Upwork’s "Find a Freelancer" filter rather than posting a public job. The default filter on that workflow is "JSS ≥ 90%". If you drop below 90%, you stop appearing in those filtered shortlists overnight, and most freelancers don’t realise the invite stream has dried up until they look at month-on-month invitation counts.
Trust signal at proposal time
When you submit a proposal on a competitive job, the client sees a small leaderboard of bidder profiles. Roughly 70% of clients self-report shortlisting only freelancers with 80%+ JSS, and most Enterprise clients filter at 90%+. Below 65%, your proposal is functionally invisible: it gets read but never replied to.
Job-listing access is JSS-gated
Upwork limits access to certain high-value jobs based on JSS tier. Sub-65% accounts unlock fewer jobs in the public feed and are blocked from some Enterprise-only listings. 90%+ accounts get early access to invite-only client searches. The platform quietly compounds the advantage: high-JSS freelancers see better jobs, win them, and push their JSS even higher.
Five patterns that destroy JSS faster than anything else
Every Top-Rated freelancer who has watched their score collapse made one of these five moves. Avoid them with discipline and JSS recovery becomes mostly automatic.
Wrong-fit jobs you should never have won
The single biggest JSS killer. You bid on a job that’s adjacent to your real skill, the client hires you because your profile is strong, and the deliverable goes 30% over scope because you’re learning on the job. Client gives a public 5-star to be polite, then leaves a private 6/10, and that private number is what Upwork sees. Stay inside your declared niche; let bordering jobs go.
Scope-creep contracts that end in dispute
Fixed-price contract starts at "build a Magento PDP redesign", ends with the client expecting full theme rebuild for the same fee. You push back, client refuses to release milestone, you file dispute. Upwork weighs disputes heavily even when you win: the contract closes "negatively" in the JSS algorithm regardless of who was right. Always ringfence scope in the contract description; never let a fixed-price grow without a new milestone.
Long ghost-mode contracts that auto-close
Hourly contract with a client who hires you, runs for 2 weeks, then goes silent. The contract sits idle for 30 days, Upwork auto-closes it. No public review, no mutual close: the algorithm reads this as a neutral-to-negative signal because there’s no positive outcome captured. End idle contracts manually within 14 days; ask for a mutual close + feedback before you walk away.
Budget-mismatch clients on tiny contracts
A client pays you $200 for a "small CSS fix", then expects enterprise-level documentation, three rounds of revisions, and a video walkthrough. You deliver to the contract spec, client leaves a passive-aggressive 4-star public review and a damaging 7/10 private. The dollar value is so low it doesn’t justify the JSS hit. Set a minimum project floor; politely decline anything that smells like enterprise-scope on a side-hustle budget.
Closing without mutual feedback exchange
Contract finishes well, you wrap up, you both move on, but neither party clicks "End Contract" with feedback. The contract sits open for 30 days then auto-closes silently. The algorithm has no positive signal to record, so it defaults to a neutral marker which drags JSS down over time. Always ask the client to mutually close + leave feedback the moment the work is signed off. Make it a checklist item on every project.
Four-step plan to recover a damaged JSS
If your score has dropped from 100% to 80%, or worse, into the 60s, the recovery is mechanical. 4 to 6 closed contracts of clean positive outcomes restore most damage. Here is the order to do it in.
01Stop accepting marginal-fit jobs immediately
Day-one move on any JSS recovery. Stop bidding on anything outside your declared niche. Stop accepting low-budget jobs from clients who could not afford an enterprise outcome. Stop saying yes to "small" hourly contracts that have a history of going silent. Every marginal-fit contract you accept now extends the recovery timeline by another 1-2 contracts.
02Audit niche fit before every new bid
For the next 90 days, before you submit a proposal ask yourself two questions: (a) is this job 90%+ inside my actual portfolio? (b) does this client’s spend history match the scope they’re asking for? If the answer to either is no, walk away, even if the project pay-rate is tempting. Recovery requires concentration on guaranteed-positive contracts.
03Focus on long-term retainer contracts
Long-term contracts (6+ months on the same client, or $10k+ on a single contract) weigh much more than micro-jobs in the JSS algorithm. They also produce repeat-hire signals which are weighted separately. Two clean 6-month retainers will lift a damaged JSS faster than 20 short-burst jobs. Pursue your existing happy clients for follow-on work; pitch new clients on retainer terms instead of one-off projects.
04Expect 4-6 clean contracts to restore most damage
Realistic recovery timeline: 4 to 6 closed contracts of clean positive outcome (5-star public, mutual close, high private, ideally repeat-hire) typically restore most of a JSS drop. At an average velocity of 1-2 closed contracts per month, that’s a 3-6 month rebuild. Don’t panic-bid to speed it up; that’s exactly the move that tanked the score in the first place.
Three traps smart freelancers fall into anyway
Even experienced Upwork freelancers shoot themselves in the foot with these three patterns. Spotting them early is the difference between holding 95%+ and watching the score erode 2 points a month.
Accepting any job to grow JSS volume
New freelancers think more closed contracts = better JSS. Wrong. Upwork weights outcome quality, not contract count. Five clean 100%-positive contracts beat fifteen mixed-outcome ones every time. Concentration on wrong-fit jobs to "build up the score" is the fastest way to destroy a JSS that hasn’t even gone public yet.
Not asking clients to mutually close + leave feedback
Silent close is a JSS killer that most freelancers don’t see coming. The client is happy, the work is done, no review gets left, the contract auto-closes after 30 days. The algorithm reads "no public outcome captured" as a neutral-to-negative signal because the absence of feedback is itself data. Build a "ask for mutual close + feedback" message into your standard project wrap-up template.
Disputing tiny-dollar issues
Client withholds $80 on a $4,000 contract over a minor revision disagreement. You file dispute on principle. You win the dispute. Your JSS drops 3 points anyway because Upwork treats any dispute as a contract closing negatively for the algorithm: regardless of who the arbitrator sided with. Below $200, it’s almost always cheaper to walk away than to dispute.
Related pages
Two adjacent resources on this site if you want to take action on what you just read.
- Free Upwork profile reviewSend your Upwork profile URL: I reply with a written audit covering JSS optics, niche positioning, headline copy, portfolio gaps, and proposal-template feedback. 24-hour turnaround, no sales pitch. Best next step if your JSS is sub-90% and you want a second pair of eyes.
- Hire me directlySkip Upwork entirely if you’re a Magento store owner. Top-Rated Plus on Upwork (100% JSS, ten years on platform), Adobe Certified, 200+ stores delivered. Hourly retainer, fixed-price, or monthly maintenance. Quote in 24 hours.
Six practical questions about Job Success Score
The questions Upwork freelancers and prospective clients ask most often. Tap any question to expand.
How is Job Success Score actually calculated?
My JSS dropped from 100% to 80%: am I cooked?
What's the difference between Top Rated and Top Rated Plus?
Does refunding a client hurt my JSS?
How long does it take to recover JSS?
Public vs private feedback: which one matters more for JSS?
Worried about your JSS? Get a free profile review.
Send your Upwork profile URL: I reply with a written audit covering JSS optics, niche positioning, headline copy, portfolio gaps, and proposal-template feedback. 24-hour turnaround. No sales pitch. Top Rated Plus, 100% JSS, ten years on the platform.