Chat on WhatsApp
Upwork glossary · 2026 edition

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
Definition

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.

Under the hood

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.

  1. 01

    Recalculated 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.

  2. 02

    Positive 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.

  3. 03

    Negative 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.

  4. 04

    Hidden 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.

  5. 05

    Top 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.

When it matters

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.

What tanks it

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.

Recovery playbook

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.

  1. 01

    Stop 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.

  2. 02

    Audit 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.

  3. 03

    Focus 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.

  4. 04

    Expect 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.

Common mistakes

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.

FAQ

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?
    Upwork has never published the exact formula, but the inputs are well-documented: client outcome on each closed contract (positive / neutral / negative), private feedback score (the 1 – 10 the client gives that you never see), public star rating, contract closure mode (mutual / freelancer-initiated / client-initiated / auto-close idle), repeat-hire rate from the same client, and the ratio of long-term to short-term contracts. All weighted by recency on a rolling 24-month window. The formula is opaque on purpose so freelancers can’t game it, but the practical lever is simple: clean closes on well-fit work with happy clients who hire you again.
  • My JSS dropped from 100% to 80% — am I cooked?
    No, but you need to act now. 80% is still above the algorithmic-invitation threshold (90%) but it’s on the wrong side of trend, and Upwork search ranking will punish you within 2 – 4 weeks. Realistic recovery: 4 to 6 closed contracts of clean positive outcomes will lift you back to 90%+ over 3 – 6 months. Stop accepting marginal-fit work immediately, focus on long-term retainers, ask every client for a mutual close + feedback. Don’t panic-bid on cheap jobs to "build up volume" — that’s the move that drops you from 80% to 65%.
  • What's the difference between Top Rated and Top Rated Plus?
    Top Rated requires JSS sustained at 90%+ for 13 consecutive weeks, $1,000+ earned lifetime, profile 100% complete, and a clean account (no warnings, no policy violations). Top Rated Plus is a stricter tier on top: same 90%+ JSS, plus $10,000+ earned in the last 12 months, and the bulk of that earning needs to come from long-term contracts (defined loosely as $10k+ on a single contract or contracts running 6+ months). Top Rated Plus unlocks invite-priority in client searches, reduced platform fees on long-term contracts, and access to Upwork Enterprise clients. Roughly 5% of Upwork freelancers are Top Rated; under 1% are Top Rated Plus.
  • Does refunding a client hurt my JSS?
    It depends entirely on how the refund is processed. A mutual refund — both parties agree, the contract closes amicably with feedback — is essentially neutral on JSS. A refund processed via dispute is treated as a negative contract close regardless of which side initiated, and that drags JSS down 3 – 8 points typically. Practical rule: if a refund situation is unavoidable, talk the client into a mutual end-with-refund instead of a dispute. Eat the dollar loss to protect the score; the score is worth more than most refund amounts over the life of the account.
  • How long does it take to recover JSS?
    Mathematically, 4 to 6 closed contracts of clean positive outcomes will lift a damaged JSS by 10 – 15 percentage points. At an average freelancer velocity of 1 to 2 contract closes per month, that’s a 3 to 6 month recovery window. Recovery is faster on accounts with high contract volume and slower on accounts that close 1 contract a quarter. The 24-month rolling window also helps: bad data from month 1 of the window falls off in month 25, so simply waiting (while not making the problem worse) gradually restores the score.
  • Public vs private feedback — which one matters more for JSS?
    Private feedback matters far more. The public 5-star rating that everyone sees on your profile is mostly cosmetic — clients leave 5 stars to be polite even when they're unhappy. The private feedback (a 1 – 10 score plus optional written notes that only Upwork sees, never the freelancer) is the real signal. A 5-star public + 6/10 private is the worst-case combination — the public number reassures you everything is fine while the private number tanks your JSS over the next month. The implication: optimise for genuine client happiness, not surface-level five-stars. Ask mid-project "is everything meeting expectations?" — fix the gap before contract close, before the private feedback gets locked in.
Free Upwork profile review

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, 8 years on the platform.