Skip to content
induwara.lk
Premium
induwara.lkStatistics · Diagnostics

Youden's J Index (Youden Index) Calculator

Compute Youden's J statistic — the single-number summary of how well a diagnostic test or binary classifier separates the two classes — from a confusion matrix or from sensitivity and specificity. J = Sensitivity + Specificity − 1. Instant, cited, and computed entirely in your browser.

By Induwara AshinsanaUpdated Jul 13, 2026
Youden's J indexJ = Se + Sp − 1
Youden 1950 · verified
Examples
Your confusion matrix

predicted +, actually +

predicted −, actually +

predicted +, actually −

predicted −, actually −

Youden's J index
0.7000Good

Strong discrimination — the test catches most true positives while keeping the false-positive rate low. Typical of a well-performing diagnostic test.

Cross-check J = TPR − FPR = 0.7000

Sensitivity (TPR)
0.900
90%
Specificity (TNR)
0.800
80%
False Positive Rate
0.200
1 − specificity = 20%

Formula breakdown

Se = TP / (TP + FN) = 90 / 100 = 0.9000
Sp = TN / (TN + FP) = 80 / 100 = 0.8000
FPR = 1 − Sp = 0.2000
J = Se + Sp − 1 = 0.9000 + 0.8000 − 1 = 0.7000

Your 2×2 matrix

Predicted +Predicted −Total
Actual +90 TP10 FN100
Actual −20 FP80 TN100
Total11090200

Sensitivity uses the top row; specificity uses the bottom row.

Computed in your browser — nothing is uploaded.

How it works

Youden's J index (also called the Youden index or J statistic) was introduced by W. J. Youden in 1950 as a way to rate diagnostic tests with one number. It combines the two error-free rates of a binary test — how many true positives it catches and how many true negatives it catches — into a single value on a −1 to +1 scale.

The calculation has two equivalent paths, and this tool runs both:

  1. From a confusion matrix, first derive the two rates. Sensitivity (the true positive rate) is Se = TP / (TP + FN) and specificity (the true negative rate) is Sp = TN / (TN + FP). These are the standard scikit-learn definitions.
  2. From rates entered directly, use the given sensitivity and specificity as-is (a percentage is divided by 100).
  3. Apply the classical definition: J = Se + Sp − 1.
  4. Cross-check with the ROC identity J = TPR − FPR, where the false positive rate is FPR = 1 − Sp. On an ROC plot this is the vertical gap between the operating point and the chance diagonal — the quantity Fluss et al. (2005) maximise to locate the optimal cut-point. The two forms are algebraically identical; the tool asserts they agree before showing a result.

Interpretation follows a common rule of thumb — J below 0.2 is poor, 0.2–0.4 fair, 0.4–0.6 moderate, 0.6–0.8 good, and above 0.8 excellent — with J = 0 flagged as no better than chance and a negative J flagged as probably-inverted labels. These bands are a guide, not an official standard: J is best read relative to your base rates and the real cost of a false positive versus a false negative. If either the positive class (TP + FN) or the negative class (TN + FP) is empty, sensitivity or specificity is undefined, so the tool returns a specific message instead of a misleading zero. All arithmetic is exact and client-side, with rounding applied only for the four-decimal display.

Worked examples

Dengue antigen test (confusion matrix)

TP = 90, FN = 10, TN = 80, FP = 20

J = 0.7000 · good
  1. Sensitivity: Se = 90 / (90 + 10) = 0.9000
  2. Specificity: Sp = 80 / (80 + 20) = 0.8000
  3. Youden's J: J = 0.9000 + 0.8000 − 1 = 0.7000
  4. Cross-check: FPR = 1 − 0.80 = 0.20, so J = 0.90 − 0.20 = 0.7000 ✓

Screening classifier (rates entered directly)

Sensitivity = 75%, Specificity = 90%

J = 0.6500 · good
  1. Read rates as decimals: Se = 0.75, Sp = 0.90
  2. Youden's J: J = 0.75 + 0.90 − 1 = 0.6500
  3. Cross-check: FPR = 1 − 0.90 = 0.10, so J = 0.75 − 0.10 = 0.6500 ✓

Always-negative model on imbalanced data (edge case)

TP = 0, FN = 50, TN = 950, FP = 0

J = 0.0000 · no discrimination
  1. Accuracy looks great: (0 + 950) / 1000 = 95%
  2. Sensitivity: Se = 0 / (0 + 50) = 0.0000
  3. Specificity: Sp = 950 / (950 + 0) = 1.0000
  4. Youden's J: J = 0.0000 + 1.0000 − 1 = 0.0000
  5. J correctly reports no discriminative value — the model never predicts positive.

Frequently asked questions

Sources & references

The formulas and worked examples on this page were last cross-checked against these sources on 2026-07-13. Youden's J index is a long-established, stable definition; this page is reviewed if the cited references or the scikit-learn metric conventions change.

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Found a bug, edge case, or want to suggest an improvement?

Email me at [email protected] — most fixes ship within 24 hours.