Atlas
statminds
Reliability Theory (Agreement Model)The underlying model family class (e.g. GLM, linear model, categorical matrix, log-linear).Parametric ReferenceStatistical methods that assume a specific probability distribution family (typically normal).12-stage workflow

Cohen's Kappa (κ)

The engine for Categorical Agreement. Cohen’s Kappa (κ) audits the consistency between two raters, reveal the true 'Consensus Signal' after mathematically neutralizing the influence of random guessing.

Model familyReliability Theory (Agreement Model)
Hypothesisone-tailed
AliasesInter-Rater Kappa · Chance-Corrected Agreement · Kappa Statistic (κ)
G1
Consensus Audit
Determine the degree of true agreement between two observers on a categorical outcome.
G2
Chance Neutralization
Mathematically subtract the agreement that would occur by pure random coincidence.
G3
Categorical Precision
Quantify the reliability of clinical diagnoses or classification systems.
Visual Overview Dashboard
1

What is it?

Cohen's Kappa (κ) quantifies the degree of agreement, consistency, or concordance among raters, measurements, or scale items.

The engine for Categorical Agreement. Cohen’s Kappa (κ) audits the consistency between two raters, reveal the true 'Consensus Signal' after mathematically neutralizing the influence of random guessing.

2

Goals & Indications

  • Consensus Audit: Determine the degree of true agreement between two observers on a categorical outcome.
  • Chance Neutralization: Mathematically subtract the agreement that would occur by pure random coincidence.
  • Categorical Precision: Quantify the reliability of clinical diagnoses or classification systems.
3

Core Idea Diagram

Agree (A)Agree (B)DisagreeDisagree
4

Claims tested

H₀: H₀: κ = 0 (agreement no better than chance)
Hₐ: Hₐ: κ > 0 (agreement exceeds chance)
5

How it works

  1. Cross-tabulate ratings from two independent raters into a 2x2 contingency table.
  2. Calculate observed proportion of agreement (sum of main diagonal elements).
  3. Calculate expected proportion of agreement under chance based on marginal totals.
  4. Compute Cohen's Kappa statistic: kappa = (p_o - p_e) / (1 - p_e).
6

Assumptions

Independence of Raters: Raters must make classifications independently without communication or knowledge of the other's ratings. Raters should not influence each other's judgments.
Mutually Exclusive Categories: Each subject can only be assigned to one category by each rater. Categories must be clearly defined and non-overlapping.
Same Two Raters: Cohen's kappa requires exactly two raters who rate all subjects. Different raters for different subjects invalidates the analysis.
7

Important Note

Cohen's κ corrects for chance agreement. κ > 0.60 = substantial, κ > 0.80 = almost perfect (Landis & Koch, 1977).

8

Worked Example

MetricObserved (Po)Chance (Pe)Kappa (κ)Verdict
Agreement0.820.540.609Substantial
Interactive Sandbox

Cohen's Inter-Rater Agreement Matrix

Observe how the Kappa value adapts. When marginal distributions are extremely skewed, chance agreement increases, lowering Kappa for the same raw agreement.

Rater A Positives Rate0.50
Rater B Positives Rate0.50
Raw Agreement Target0.80
Calculated Metrics
Observed Agreement (Po): 0.960
Chance Agreement (Pe): 0.500
Cohen's Kappa (κ): 0.920

Verdict:Almost Perfect Agreement
Contingency Cell Proportions
Rater B: Yes
Rater B: No
Rater A: Yes
0.48
Cell a
0.02
Cell b
Rater A: No
0.02
Cell c
0.48
Cell d
The 12-Stage Precision Workflow
01Agreement Parity
Hypotheses
We test the Null (κ = 0) against the discovery of a non-random consensus between observers.
02Rater Independence
Assumptions
Ensuring observers do not communicate or influence each other—the foundational mandate for valid agreement math.
03Prevalence Bias
Diagnostics
Auditing the base rate of the categories—Kappa can be misleadingly low if one category is extremely rare (The Prevalence Paradox).
04focus
Testing the agreement between two FlowMotion instructors while they classify student form as 'Elite', 'Stable', or 'Developing'.
05Weighted Pivot
Alternatives
Knowing when to switch to Weighted Kappa if the categories are ordinal, where a 'Close Miss' is better than a 'Total Miss'.
06Standard Error Strike
Significance
Reporting the 95% Confidence Interval—essential because a high point estimate can be unstable in small samples.
07Landis-Koch Scale
Effect Size
Interpreting κ values: 0.41-0.60 (Moderate), 0.61-0.80 (Substantial), >0.81 (Almost Perfect Consensus).
08The Consensus Buffer
Sample Size
Determining the N required to ensure that rare classification events don't destabilize the chance-correction math.
09The Table Cross
Reporting
Providing the 2x2 or rxc contingency table alongside Kappa to visualize where the 'Disagreements' actually cluster.
10irr / kappa2 Logic
Software
Executing 'kappa2()' commands, ensuring the rater variables are correctly mapped as factors.
11focus
The fatal error of reporting '90% agreement' while ignoring that 85% could have happened by chance—Kappa is the only elite metric.
12focus
Tracing the model back to Jacob Cohen (1960) and the foundational shift toward chance-corrected psychometrics.
01Hypothesis test logic

Hypotheses

Pragmatic null and alternative hypotheses defined in mathematical notation.

A hypothesis is a question sharpened to a point. Ambiguity is the enemy of inference.
Logic Core
Null · H₀

H₀: κ = 0 (agreement no better than chance)

Alternative · Hₐ

Hₐ: κ > 0 (agreement exceeds chance)

Why it matters one-tailed

Cohen's κ corrects for chance agreement. κ > 0.60 = substantial, κ > 0.80 = almost perfect (Landis & Koch, 1977).

02Model diagnostics

Assumptions

The core mathematical criteria needed to ensure that statistical testing remains unbiased and valid.

Build your analysis on rock, not sand. Verify the mathematical foundation before building the model.
Integrity Shield
7
Assumptions
0
Critical / High Severity
How to check
Ensure raters work separately, do not discuss cases, and rate in different locations or times. Use blinded procedures.
If violated
Lack of independence inflates agreement artificially, leading to overestimated kappa values that do not reflect true reliability.
How to check
Review category definitions for ambiguity or overlap. Pilot test with sample cases to identify boundary issues.
If violated
Ambiguous categories increase disagreement and reduce kappa. May need to refine coding scheme or merge similar categories.
How to check
Verify that all subjects have ratings from the same pair of raters. For >2 raters, use Fleiss' kappa instead.
If violated
Mixing raters confounds individual rater tendencies with true disagreement. Use Fleiss' kappa or ICC for multiple raters.
How to check
Determine if categories have meaningful ordering (e.g., severity levels). If yes, consider weighted kappa.
If violated
Unweighted kappa treats all disagreements equally, which may underestimate agreement for ordinal scales where near-misses matter.
How to check
Ensure no repeated measures, matched pairs, or hierarchical structure. Each subject appears once in analysis.
If violated
Dependent observations inflate sample size and produce biased standard errors. Consider multilevel modeling or clustered kappa.
How to check
Minimum N=30-50 subjects recommended. For precise CIs, N>100 preferred. Each category should have at least 10-20 instances. Use power analysis for study planning.
If violated
Small samples yield unreliable kappa estimates with wide confidence intervals. May fail to detect significant agreement or overestimate/underestimate true reliability.
How to check
Compare row and column marginal totals in confusion matrix. Calculate bias index. Test marginal homogeneity using McNemar's test (for 2x2) or Stuart-Maxwell test (for larger tables).
If violated
Large marginal differences indicate systematic rater bias. Kappa may underestimate agreement quality. Consider examining sources of bias or using alternative measures like AC1.
03Residual Forensics

Diagnostics

Checking residual plots and indices to examine model deviations and ensure standard error integrity.

Trust, but verify. The outliers often hold more truth than the averages.
System Health
Essential checks
  1. Confusion matrix (cross-tabulation of rater 1 vs rater 2 classifications)
  2. Observed agreement proportion (Po = sum of diagonal / total)
  3. Expected agreement by chance (Pe = sum of marginal probabilities)
  4. Prevalence index (difference in proportion of positive ratings between raters)
  5. Bias index (extent to which raters disagree on proportion of cases in each category)
  6. Kappa confidence intervals (asymptotic or bootstrap methods)
  7. Statistical significance test (z-test: κ/SE against H₀: κ=0)
Recommended checks
  1. Category-specific kappa (conditional kappa for each category)
  2. Prevalence-adjusted bias-adjusted kappa (PABAK) if prevalence is extreme
  3. Gwet's AC1 coefficient (less affected by prevalence paradox)
  4. Examine specific disagreement patterns in confusion matrix
  5. Compare raw agreement with kappa to assess impact of chance correction
04Live Instances

Applied Minds

Review concrete study examples, data layout guidelines, and copy executable syntax scripts.

Theory is the map. Practice is the terrain. Simulation bridges the gap.
Applied Wisdom
Example 01

Psychiatric Diagnosis Agreement (4-Category Classification)

Research question: Do two board-certified psychiatrists reliably agree when independently diagnosing patients with mood/anxiety disorders? Design: Cross-sectional diagnostic agreement study with 120 patients presenting with psychological symptoms. Categories: Depression, Anxiety, Bipolar Disorder, No Disorder. Real-world basis: Diagnostic reliability studies show κ=0.60-0.75 for structured clinical interviews (Regier et al., 2013 DSM-5 field trials).

DesignIndependent diagnostic assessment
# ============================================================================
# Comprehensive Cohen's Kappa Analysis for Diagnostic Agreement
# Complete workflow: simulation, kappa calculation, diagnostics, visualization
# ============================================================================

library(irr)          # For kappa calculations
library(psych)        # Additional statistics
library(vcd)          # For agreement visualization
library(ggplot2)      # For plotting
library(gridExtra)    # For multi-panel plots
library(boot)         # For bootstrap confidence intervals

# Seed for reproducibility
set.seed(2025)

# ============================================================================
# 1. DATA SIMULATION: 120 patients, 2 psychiatrists, 4 diagnostic categories
# ============================================================================

n <- 120
categories <- c("Depression", "Anxiety", "Bipolar", "No Disorder")

cat("\n========== COHEN'S KAPPA: DIAGNOSTIC AGREEMENT ==========\n")
cat("Sample size:", n, "patients\n")
cat("Raters: 2 psychiatrists\n")
cat("Categories:", length(categories), "diagnostic categories\n\n")

# Simulate true diagnoses (latent variable)
true_diagnosis <- sample(categories, n, replace=TRUE, 
                         prob=c(0.35, 0.25, 0.15, 0.25))

# Psychiatrist 1: 85% accuracy
rater1 <- sapply(true_diagnosis, function(x) {
  if(runif(1) < 0.85) return(x)
  sample(setdiff(categories, x), 1)
})

# Psychiatrist 2: 80% accuracy (slightly lower)
rater2 <- sapply(true_diagnosis, function(x) {
  if(runif(1) < 0.80) return(x)
  sample(setdiff(categories, x), 1)
})

# Create data frame
diag_data <- data.frame(
  Rater1 = factor(rater1, levels=categories),
  Rater2 = factor(rater2, levels=categories)
)

# ============================================================================
# 2. CALCULATE COHEN'S KAPPA
# ============================================================================

cat("--- Cohen's Kappa Calculation ---\n")
kappa_result <- kappa2(diag_data, weight="unweighted")
print(kappa_result)

kappa_value <- kappa_result$value
kappa_se <- sqrt(kappa_result$var.kappa)

cat("\nCohen's Kappa: κ =", round(kappa_value, 3))
cat("\nStandard Error:", round(kappa_se, 3))

# ============================================================================
# 3. CONFIDENCE INTERVALS
# ============================================================================

cat("\n\n--- 95% Confidence Interval ---\n")
# Asymptotic CI
ci_lower <- kappa_value - 1.96 * kappa_se
ci_upper <- kappa_value + 1.96 * kappa_se
cat("Asymptotic 95% CI: [", round(ci_lower, 3), ",", round(ci_upper, 3), "]\n")

# Bootstrap CI
cat("\nBootstrap 95% CI(500 iterations):\n")
boot_kappas <- replicate(500, {
  indices <- sample(1:n, replace=TRUE)
  boot_data <- diag_data[indices, ]
  kappa2(boot_data, weight="unweighted")$value
})
boot_ci <- quantile(boot_kappas, c(0.025, 0.975))
cat("Bootstrap CI: [", round(boot_ci[1], 3), ",", round(boot_ci[2], 3), "]\n")

# ============================================================================
# 4. STATISTICAL SIGNIFICANCE TEST
# ============================================================================

cat("\n--- Statistical Significance Test ---\n")
z_score <- kappa_value / kappa_se
p_value <- 2 * (1 - pnorm(abs(z_score)))  # Two-tailed
cat("H₀: κ = 0 (no agreement beyond chance)\n")
cat("Z-score:", round(z_score, 3), "\n")
cat("P-value:", format.pval(p_value, digits=3), "\n")
cat(ifelse(p_value < 0.001, "Result: Highly significant(p < .001)\n",
           ifelse(p_value < 0.05, "Result: Significant(p < .05)\n",
                  "Result: Not significant\n")))

# ============================================================================
# 5. CONFUSION MATRIX AND AGREEMENT STATISTICS
# ============================================================================

cat("\n--- Confusion Matrix ---\n")
conf_matrix <- table(diag_data$Rater1, diag_data$Rater2)
print(addmargins(conf_matrix))

cat("\n--- Agreement Statistics ---\n")
# Observed agreement
po <- sum(diag(conf_matrix)) / sum(conf_matrix)
cat("Observed agreement(Po):", round(po, 3), "(", 
    round(po*100, 1), "%)\n")

# Expected agreement by chance
rater1_marginal <- rowSums(conf_matrix) / sum(conf_matrix)
rater2_marginal <- colSums(conf_matrix) / sum(conf_matrix)
pe <- sum(rater1_marginal * rater2_marginal)
cat("Expected agreement(Pe):", round(pe, 3), "(", 
    round(pe*100, 1), "%)\n")
cat("Agreement beyond chance:", round((po - pe)*100, 1), "%\n")

# Kappa formula verification
kappa_manual <- (po - pe) / (1 - pe)
cat("\nKappa(manual): κ =", round(kappa_manual, 3), "\n")

# ============================================================================
# 6. PREVALENCE AND BIAS INDICES
# ============================================================================

cat("\n--- Prevalence and Bias Indices ---\n")
# Prevalence index
prevalence_idx <- abs(sum(conf_matrix[1,]) - sum(conf_matrix[,1])) / n
cat("Prevalence Index:", round(prevalence_idx, 3))
cat("\n(Measures asymmetry in marginal totals)\n")

# Bias index
bias_idx <- (sum(conf_matrix[1,]) - sum(conf_matrix[,1])) / n
cat("Bias Index:", round(bias_idx, 3))
cat("\n(Positive: Rater1 diagnoses more; Negative: Rater2 diagnoses more)\n")

# PABAK (Prevalence-Adjusted Bias-Adjusted Kappa)
pabak <- 2 * po - 1
cat("\nPABAK:", round(pabak, 3))
cat("\n(Less affected by prevalence than standard kappa)\n")

# ============================================================================
# 7. CATEGORY-SPECIFIC ANALYSIS
# ============================================================================

cat("\n--- Category-Specific Kappas ---\n")
for(cat_name in categories) {
  # Binary kappa for this category vs all others
  binary_r1 <- ifelse(rater1 == cat_name, cat_name, "Other")
  binary_r2 <- ifelse(rater2 == cat_name, cat_name, "Other")
  binary_data <- data.frame(
    R1 = factor(binary_r1, levels=c(cat_name, "Other")),
    R2 = factor(binary_r2, levels=c(cat_name, "Other"))
  )
  cat_kappa <- kappa2(binary_data)$value
  cat("  ", cat_name, ": κ =", round(cat_kappa, 3), "\n")
}

# ============================================================================
# 8. INTERPRETATION
# ============================================================================

cat("\n========== INTERPRETATION ==========\n")
if(kappa_value < 0) {
  interpretation <- "Poor(less than chance agreement)"
} else if(kappa_value < 0.20) {
  interpretation <- "Slight"
} else if(kappa_value < 0.40) {
  interpretation <- "Fair"
} else if(kappa_value < 0.60) {
  interpretation <- "Moderate"
} else if(kappa_value < 0.80) {
  interpretation <- "Substantial"
} else {
  interpretation <- "Almost Perfect"
}

cat("\nLandis & Koch(1977) Classification:", interpretation)
cat("\n\nThe two psychiatrists showed", tolower(interpretation), "agreement")
cat("\n(κ =", round(kappa_value, 3), ", 95% CI [", 
    round(ci_lower, 3), ",", round(ci_upper, 3), "]).\n")
cat("\nObserved agreement was", round(po*100, 1), "%, which is")
cat("\n", round((po-pe)*100, 1), "% better than expected by chance alone.\n")

if(kappa_value >= 0.60) {
  cat("\nThis level of agreement is acceptable for research purposes.\n")
  if(kappa_value >= 0.75) {
    cat("Agreement is sufficient for clinical decision-making.\n")
  }
} else {
  cat("\nThis level of agreement may be insufficient for clinical use.\n")
  cat("Consider additional rater training or clearer diagnostic criteria.\n")
}

cat("\n========== ANALYSIS COMPLETE ==========\n")
Interpretation Blueprint

κ = 0.70-0.80 indicates substantial agreement, suitable for research purposes but may need improvement for high-stakes clinical decisions. Examine confusion matrix for systematic patterns of disagreement. Consider additional rater training for frequently confused categories.

05Tactical Pivots

Alternatives

Structured fallback pathways for choosing alternative tests when normality or slopes requirements fail.

When the path is blocked, pivot. Rigor is not rigidity; it is the intelligent adaptation to reality.
Adaptive Strategy
Measurement Precision Ladder Ideal · Nominal / Binary Categories
Ratio
Consider ICC. Categorical conversion of continuous ratings is 'Reliability Suicide'.
Extreme Data Loss
Ordinal
Pivot to Weighted Kappa to preserve the natural rank of the disagreements.
Information Leak
Nominal
Maintain Kappa logic. The definitive engine for 2-rater categorical consensus.
Peak Signal
Temporal Trajectory Audit Static Agreement Snapshot
Simultaneous
Two raters, one time.
Stay with Cohen's Kappa. Neutralize random chance mathematically.
Multi-Rater
3+ raters.
Pivot to Fleiss' Kappa to model the collective consensus of the rater pool.
Adaptive Technical Safeguards · adaptive safeguards
prevalence paradox
  • Gwet’s AC1 — A robust alternative that remains stable even when one category is extremely rare.
  • PABAK Index — Provide the Prevalence-Adjusted Bias-Adjusted Kappa for clinical transparency.
non independent raters
  • Multilevel Logistic — Account for clustering if raters work in teams or sites.
06Adjusted Comparisons

Post-hoc

Group mean comparisons and correction controls (e.g. Tukey HSD, Bonferroni) to protect against Family-Wise Error Rates.

The omnibus test opens the door; post-hoc analysis explores the room.
Forensic Detail
Adjusted Comparisons
  • Compare with percent agreement (Kappa adjusts for chance)
  • Examine prevalence and bias indices affecting Kappa
  • Compare with Gwet's AC1 (less affected by prevalence)
  • Bootstrap confidence intervals for Kappa
  • Calculate category-specific Kappa for diagnostic insight
Interpretation Guidelines

Cohen's Kappa measures inter-rater agreement for 2 raters. Post-hoc tests are not applicable.

07Standardized scale impact

Effect Size

Understanding effect sizes (e.g., Cohen's d, Partial Eta-Squared) and clinical impact benchmarks.

Significance is noise. Magnitude is the signal. Measure the impact, not just the probability.
Impact Magnitude

Poor - less than chance agreement (systematic disagreement)

Slight - minimal agreement beyond chance

Fair - weak agreement

Moderate - acceptable for exploratory studies

Substantial - good agreement for research

Almost Perfect - excellent agreement for clinical/applied use

Recommended Metric: Report κ with 95% confidence intervals, raw agreement percentage, and sample size. For binary outcomes with prevalence issues, also report PABAK or AC1.
Small
0.2
Medium
0.5
Large
0.8
0.50
Report κ with 95% confidence intervals, raw agreement percentage, and sample size. For binary outcomes with prevalence issues, also report PABAK or AC1.
Recommended Measure
1
Available Metrics
ReportUse Report κ with 95% confidence intervals, raw agreement percentage, and sample size. For binary outcomes with prevalence issues, also report PABAK or AC1. to represent clinical impact magnitude.
08Statistical Power

Sample Size

Guidelines for minimum sample requirements and power analysis parameters.

An underpowered study is an ethical failure. Respect the data by collecting enough of it.
Power Protocol
Floor Requirements

The 'Consensus Buffer': A minimum of 60 subjects is recommended for a 2-rater agreement audit. Chance-correction math (Kappa) is highly sensitive to small cell counts in the disagreement cells.

Effect SizeParametersRequired n
Small EffectExpected κ = .40n ≈ 100
Medium EffectExpected κ = .60n ≈ 45
Large EffectExpected κ = .80n ≈ 25
Key considerations

The 'Prevalence Paradox': If 95% of your sample is in one category, Kappa will be misleadingly low even if agreement is high. Ensure your recruitment covers a diverse spectrum of the clinical construct.

G*Power StrategyBenchmark: Categorical inter-rater agreement. Parameters: Moderate agreement (κ=.40), Base rate = 0.5, α = .05, Power = .80. Note: Power is driven by the prevalence of the categories—rare events require much larger N.
09APA narrative blueprint

Reporting

How to compile statistical results into publication prose matching APA and journal style guides.

Data does not speak for itself. It requires a translator. Be clear, be precise, be honest.
Narrative Arc
Reusable template

Inter-rater reliability was assessed using Cohen's kappa coefficient. Agreement between Rater 1 and Rater 2 was interpretation (κ = value, 95% CI lower, upper, p < .001), with X% observed agreement. Optional: The prevalence index was [value, indicating balanced/imbalanced category distributions.]

10Exhibit Builder

Manuscript Lab

Copy standard summary tables and forensic reporting grids to outline analysis details.

Table 1: Cohen's Kappa for Inter-Rater Diagnosis Agreement
MetricValueSEp-valueAgreement Strength
Observed Agreement85.0%High
Cohen's Kappa (κ)0.680.082< .001Substantial
Note. N = 100 cases. Corrected for random agreement. Interpreted via Landis & Koch (1977).
κ = 0.68Confirms Clinical Reliability. A kappa of .68 proves that the diagnostic criteria are clear enough for independent clinicians to agree consistently.
Header glossary

The 'Truth' Agreement. Represents the percentage of agreement that remains AFTER removing the agreement that would happen by random guessing.

The 'Raw' Agreement. The simple percentage of cases where both raters picked the same category.

11Algorithmic Logic

Command Center

Syntax libraries and function parameters for executing calculations in stats packages.

Code is the modern laboratory. Clean execution ensures reproducible discovery.
Execution Engine
# 1. Execute Cohen's Kappa
irr::kappa2(df_ratings)

# 2. Extract Weighted Kappa (for ordinal data)
irr::kappa2(df_ratings, weight = 'squared')
Library stack
R
irrpsychvcd
Python
sklearn.metrics
Elite Forensic Strike

The 'Prevalence Trap'. If one category is very common, Kappa will be low even if agreement is high. Always check 'Prevalence-Adjusted Bias-Adjusted Kappa' (PABAK).

# Execute PABAK Audit
epiR::epi.kappa(table(r1, r2))
12The Over-adjustment Trap

Common Mistakes

Analytical caveats and corrections to maintain modeling integrity.

Wisdom is learning from the failures of others. Anticipate the error before it occurs.
Defensive Logic
Why it's wrong
With very high or very low prevalence of a category, kappa can be paradoxically low despite high observed agreement due to low expected chance agreement.
The correction
Report both kappa and raw agreement percentage. Consider prevalence-adjusted measures (PABAK) or Gwet's AC1. For binary outcomes with <20% or >80% prevalence, interpret kappa cautiously.
Why it's wrong
Standard kappa treats all disagreements equally, even when categories are ordered (e.g., disease severity: mild, moderate, severe). A mild vs moderate disagreement is treated the same as mild vs severe.
The correction
Use weighted kappa (linear or quadratic weights) for ordinal data. This gives partial credit for near-agreement and provides more appropriate reliability estimates.
Why it's wrong
Kappa is a sample statistic with uncertainty. Small samples produce wide confidence intervals. A point estimate of κ=0.60 might have CI [0.35, 0.85], spanning multiple interpretation categories.
The correction
Always report 95% confidence intervals. Test statistical significance (H₀: κ=0) using z-test. Wide CIs indicate need for larger sample or better rater training.
Why it's wrong
Kappa depends on marginal distributions (category prevalence and rater biases). Two studies with same true agreement but different prevalences will have different kappa values.
The correction
When comparing across studies, report marginal distributions and raw agreement alongside kappa. Consider standardized measures like AC1 for fairer comparison.
Why it's wrong
Acceptable kappa thresholds depend on context. Exploratory research may accept κ>0.60; high-stakes clinical decisions may require κ>0.90. Category complexity also matters.
The correction
Interpret kappa in context. For complex judgments (e.g., qualitative coding), κ=0.60-0.75 may be acceptable. For simple binary clinical decisions, target κ>0.85. Cite relevant field-specific guidelines.
Why it's wrong
Kappa can be moderate even when one rater systematically uses categories more/less frequently than the other (bias index). This affects generalizability.
The correction
Calculate bias index (BI) from confusion matrix. Large BI indicates systematic differences in category usage. Examine marginal distributions; if very different, investigate rater training or coding guidelines.
Why it's wrong
Cohen's kappa is designed for exactly 2 raters. Calculating multiple pairwise kappas inflates Type I error and doesn't provide an overall agreement estimate.
The correction
Use Fleiss' kappa for 3+ raters with fixed raters, or Krippendorff's alpha for variable raters or missing data. These generalize kappa to multiple raters properly.
Why it's wrong
Kappa measures agreement (same rating), not correlation (linear relationship). Pearson's r can be high even with systematic bias or poor agreement. Also, kappa differs from percent agreement (no chance correction) and ICC (for continuous data).
The correction
Use kappa specifically for categorical inter-rater agreement between exactly 2 raters. For continuous measurements, use ICC. For understanding relationships rather than agreement, use correlation. Report both raw agreement and kappa to show impact of chance correction.
13Academic Lineage

References

Scholarly lineage and citation keys grounding the statistical framework.

We stand on the shoulders of giants. Honor the source of the method.
Academic Lineage
[1]
[2]
[3]
[4]
[5]
[6]
[7]
To agree is human; to agree non-randomly is statistical. Use Kappa to find the consensus that survives the audit of chance.
The Interpretive Rigor Directive
statminds · Cohen'sMind reference · v2.2 · updated 2026-01-1715 of 15 sections