UK-based online statistics and data analysis support for USA, UK, and international clients. No exams, no impersonation, no fabricated data.
Correlation Tests

Intraclass Correlation Coefficient: ICC Formula, Interpretation, SPSS, Python, R and Excel Guide

Reliability, Agreement, Consistency, ICC Models and Excel Worked Results Intraclass Correlation Coefficient: ICC Formula, Interpretation, SPSS, Python, R and Excel Guide Intraclass Correlation Coefficient, usually written...

Statistics guide Ethical learning support SPSS/R/Python/Excel friendly
Intraclass Correlation Coefficient: ICC Formula, Interpretation, SPSS, Python, R and Excel Guide

Reliability, Agreement, Consistency, ICC Models and Excel Worked Results

Intraclass Correlation Coefficient: ICC Formula, Interpretation, SPSS, Python, R and Excel Guide

Intraclass Correlation Coefficient, usually written as ICC, measures how strongly repeated ratings, raters, judges, measurements or time points resemble one another for the same subjects. This complete guide explains ICC(1), ICC(2), ICC(3), single-measure ICC, average-measure ICC, absolute agreement, consistency, variance components, SPSS output, Python charts, R validation charts, Excel formulas, APA reporting and common mistakes.

AdvertisementGoogle AdSense top placement reserved here

Quick Answer: Intraclass Correlation Coefficient Result

The worked Excel, Python, R and SPSS example estimates reliability across three repeated grade-style measurements: G1, G2 and G3. The file uses 20 subjects and 3 ratings/measurements. The default reporting model is ICC(3,k), a two-way mixed-effects average-measure consistency model. The verified result is ICC(3,k) = 0.9968, which is interpreted as excellent reliability.

This means that the average of G1, G2 and G3 is extremely consistent for ranking or differentiating subjects. Most variation in the data comes from real differences between subjects, not from random rating noise. The result is also supported by the model-comparison table: single-measure ICC values are already excellent, while average-measure ICC values become even higher because averaging three repeated measurements reduces measurement error.

Default modelICC(3,k)
ICC value0.9968
Subjects20
Ratings3

Grand mean11.60
G1 mean10.95
G2 mean11.50
G3 mean12.35

Final interpretation: The repeated G1, G2 and G3 measurements show excellent reliability. The default average-measure consistency coefficient, ICC(3,k) = 0.9968, indicates that the average repeated score is almost perfectly consistent for separating subjects by performance.

Model choice matters: ICC is not one single statistic. ICC(1), ICC(2) and ICC(3) answer different questions. Use ICC(2) when raters are sampled from a wider rater population and absolute agreement matters. Use ICC(3) when the same fixed raters or repeated measurements are used and consistency is the target. Use the “k” version when you report the reliability of the average of all ratings instead of one rating.

Table of Contents

  1. What Is the Intraclass Correlation Coefficient?
  2. When to Use ICC
  3. ICC(1), ICC(2), ICC(3), Single and Average Measures
  4. Intraclass Correlation Coefficient Formula
  5. Null and Alternative Hypotheses
  6. Dataset and Variables Used
  7. Excel Worked Results Explained
  8. SPSS Output Interpretation
  9. Python Chart-by-Chart Interpretation
  10. R Chart-by-Chart Validation
  11. SPSS, R, Python and Excel Workflows
  12. Code Blocks for ICC
  13. APA Reporting Wording
  14. Common Mistakes
  15. Downloads and Resources
  16. Related Guides
  17. FAQs

What Is the Intraclass Correlation Coefficient?

The Intraclass Correlation Coefficient is a reliability coefficient for measurements that are organized inside the same class or target. In ordinary Pearson correlation, each pair of variables is usually treated as two different measures. In ICC, the goal is different: we want to know whether several raters, judges, instruments or repeated measurements give similar values for the same subjects.

For example, assume 20 students have three repeated scores: G1, G2 and G3. A regular correlation matrix can show pairwise relationships between the three score columns, but ICC summarizes reliability across all repeated measurements in one model-based coefficient. It separates variation caused by real subject differences from variation caused by measurement error, rater differences or residual noise.

ICC values usually range from 0 to 1 in normal reliability settings. A value close to 0 means the ratings do not reliably distinguish subjects. A value close to 1 means the ratings are highly consistent or highly agreeing, depending on the chosen ICC model. Negative ICC values can occur when measurement noise is larger than between-subject variation, and those results normally indicate very poor reliability or a mismatch between model and data.

Simple definition: ICC measures how much of the total observed variation is due to true differences between subjects rather than disagreement or noise among repeated ratings.

When to Use Intraclass Correlation Coefficient

Use ICC when the research question is about reliability, agreement or consistency across repeated measurements of the same targets. It is common in psychology, medicine, education, sports science, measurement validation, interrater reliability, test-retest reliability and instrument comparison.

Use ICC WhenExampleWhy ICC Fits
Several raters score the same subjectsThree teachers grade the same essays.ICC estimates whether ratings are reliable across raters.
The same measure is repeated over occasionsG1, G2 and G3 repeated academic scores.ICC estimates consistency across repeated measurements.
Several instruments measure the same targetThree devices record the same clinical value.ICC estimates agreement or consistency across devices.
You report the reliability of an average scoreAverage of three judges’ scores.Average-measure ICC estimates the reliability of the combined score.

Do not use ICC when you simply need the association between two different variables. For two continuous variables, use correlation in R, correlation in Python, correlation in SPSS or correlation in Excel. Use ICC when the columns are intended to measure the same construct or target.

ICC(1), ICC(2), ICC(3), Single and Average Measures

The most common confusion in ICC reporting is model selection. The coefficient changes depending on the design. A one-way random model treats ratings as exchangeable and does not model systematic rater effects separately. A two-way random model treats both subjects and raters as random. A two-way mixed model treats subjects as random but raters or repeated measurements as fixed.

ICC TypeVerified ValueModelDefinitionInterpretationRecommended Reporting Use
ICC(1,1)0.9545One-way random effectsSingle rating, absolute agreementExcellent reliabilityUse when raters or measurements are random/exchangeable and the report concerns a single score.
ICC(1,k)0.9844One-way random effectsAverage of k ratings, absolute agreementExcellent reliabilityUse for reliability of the average repeated score under one-way random assumptions.
ICC(2,1)0.9551Two-way random effectsSingle rating, absolute agreementExcellent reliabilityUse when raters are sampled from a wider population and exact agreement matters.
ICC(2,k)0.9846Two-way random effectsAverage of k ratings, absolute agreementExcellent reliabilityUse for the average of sampled raters when absolute agreement matters.
ICC(3,1)0.9905Two-way mixed effectsSingle rating, consistencyExcellent reliabilityUse when the same fixed raters or measurements are used and consistency matters.
ICC(3,k)0.9968Two-way mixed effectsAverage of k ratings, consistencyExcellent reliabilityUseful default here for G1, G2 and G3 as fixed repeated grade measurements.

Single-measure ICC answers: “How reliable is one rating or one measurement?” Average-measure ICC answers: “How reliable is the average of all k ratings or measurements?” Average-measure values are usually larger because averaging reduces random error. In this worked example, ICC(3,1) is already excellent at 0.9905, and ICC(3,k) increases to 0.9968.

Intraclass Correlation Coefficient Formula

ICC formulas are built from ANOVA mean squares. The important mean squares are the between-subject mean square, the rater or measurement mean square, the residual mean square and the within-subject one-way error mean square.

TermMeaningVerified ValueInterpretation
MSsubjectBetween-subject mean square39.4596Large value showing that subjects differ clearly from one another.
MSraterBetween-rater or between-measurement mean square9.9500Shows that G1, G2 and G3 column means are not identical.
MSerrorResidual or interaction mean square0.1254Very small remaining noise after subject and measurement effects.
MSwithinOne-way within-subject error0.6167Used in ICC(1,1) and ICC(1,k).

The workbook uses these common formulas:

ICC(1,1) = (MSsubject − MSwithin) / [MSsubject + (k − 1)MSwithin]
ICC(1,k) = (MSsubject − MSwithin) / MSsubject
ICC(2,1) = (MSsubject − MSerror) / [MSsubject + (k − 1)MSerror + k(MSrater − MSerror) / n]
ICC(3,1) = (MSsubject − MSerror) / [MSsubject + (k − 1)MSerror]
ICC(3,k) = (MSsubject − MSerror) / MSsubject

The default ICC(3,k) formula is simple in this example because it is an average-measure consistency model. Substituting the verified values gives (39.4596 − 0.1254) / 39.4596 = 0.9968. This high value occurs because MSsubject is very large compared with MSerror.

Null and Alternative Hypotheses for ICC

The hypothesis statement for ICC depends on the software output and test value. Most classroom examples test whether the population ICC is greater than zero. In practical reliability analysis, however, the more important question is often whether the ICC is large enough for the intended decision.

StatementHypothesisMeaning
Null hypothesisH0: ICC = 0The repeated ratings do not reliably distinguish subjects.
Alternative hypothesisH1: ICC > 0The repeated ratings have positive reliability.
Practical decisionICC ≥ acceptable thresholdThe ratings are reliable enough for reporting, ranking or averaging.

Common interpretation cutoffs are: below .50 = poor, .50 to .75 = moderate, .75 to .90 = good, and .90 or higher = excellent. These cutoffs are helpful as a guide, but they are not universal laws. A clinical diagnosis tool may need stronger reliability than a quick classroom screening measure. The current example is safely in the excellent zone because all verified ICC values are above .95.

Dataset and Variables Used

The worked file contains 20 subjects and three repeated measurement columns. The variables are named G1, G2 and G3. Each row is a subject, and each score column is treated as a repeated rating or measurement of the same target.

VariableRoleUsed InInterpretation Purpose
Subject_IDTarget identifierExcel, Python, R and SPSSDefines the subject or target being measured repeatedly.
G1Repeated measurement 1All workflowsFirst rating or time-point score; mean = 10.95.
G2Repeated measurement 2All workflowsSecond rating or time-point score; mean = 11.50.
G3Repeated measurement 3All workflowsThird rating or time-point score; mean = 12.35.
Subject_MeanRow summaryExcel and chartsAverage score for each subject across G1, G2 and G3.
Subject_SDWithin-subject spreadExcel and chartsShows how much repeated scores vary inside each subject.

Before reporting ICC, it is useful to examine descriptive statistics, standard deviation, variance, box plots, histograms, correlation heatmaps and correlation assumptions.

AdvertisementGoogle AdSense middle placement reserved here

Excel Worked Results Explained

The Excel workbook provides the clearest fully worked calculation because it shows the raw data, subject means, subject standard deviations, ANOVA sum of squares, mean squares and ICC formulas. The workbook purpose is to compute ICC from repeated rating columns such as G1, G2 and G3. The default model is ICC(3,k), reported as 0.9968.

Excel ANOVA Components

SourceSum of SquaresdfMean SquareFormula Meaning
Subjects / targets749.73331939.4596k × sum of squared differences between subject means and grand mean.
Raters / measurements19.900029.9500n × sum of squared differences between rating means and grand mean.
Residual / interaction4.7667380.1254Total SS minus subject SS and rater SS.
Total774.400059Sum of squared differences between each score and the grand mean.
Within-subject one-way error24.6667400.6167Sum of squared differences between each score and its subject mean.

The key result is the contrast between a very large subject mean square and a very small residual mean square. Subject variation is the real signal: different subjects have clearly different repeated-score levels. Residual variation is small: repeated values inside the same subject remain close together. That is why ICC(3,k) is almost 1.

Excel Model Results

ModelICC ValueBest Plain-Language Reading
ICC(1,1)0.9545One random single measurement is already highly reliable.
ICC(1,k)0.9844The average of the three measurements is more reliable than one measurement.
ICC(2,1)0.9551Single-measure absolute agreement is excellent under a two-way random design.
ICC(2,k)0.9846Average-measure absolute agreement is excellent under a two-way random design.
ICC(3,1)0.9905Single-measure consistency is extremely high for the fixed repeated columns.
ICC(3,k)0.9968Average-measure consistency is almost perfect for G1, G2 and G3.

Excel interpretation rule: The default result should be written as “The average-measure two-way mixed consistency ICC was 0.9968, indicating excellent reliability.” If you need absolute agreement rather than consistency, report ICC(2,k) = 0.9846 instead.

SPSS Output Interpretation for Intraclass Correlation Coefficient

The SPSS output confirms the ICC reliability workflow for the repeated columns G1, G2 and G3. In SPSS, ICC is commonly produced from the Reliability Analysis procedure. The important choices are model, type and whether the report is based on a single measure or the average of k measurements.

Open the SPSS Intraclass Correlation Coefficient output PDF

SPSS Output ItemWhat to CheckInterpretation in This Guide
Case processing summaryNumber of complete subjectsThe worked file uses 20 complete subjects across G1, G2 and G3.
Reliability statisticsICC model and coefficientThe reported model should match the chosen design: one-way random, two-way random or two-way mixed.
Single measuresReliability of one measurementSingle-measure ICCs are excellent in the worked result, from about 0.9545 to 0.9905.
Average measuresReliability of the mean of all measurementsAverage-measure ICCs are higher, from about 0.9844 to 0.9968.
Confidence intervalPrecision of ICC estimateUse the confidence interval when reporting the reliability estimate in a thesis, article or results section.
F testTest against a null ICC valueA significant F test supports reliability above the tested null, but practical reliability depends on ICC size and confidence interval.

The best SPSS interpretation does not simply say “ICC is significant.” Statistical significance is not enough. The report should name the model, state whether it is single-measure or average-measure, give the ICC value, include the confidence interval if available and explain whether the value is poor, moderate, good or excellent.

SPSS reporting note: If you select a two-way mixed consistency model in SPSS, do not describe it as an absolute-agreement model. Consistency ignores systematic mean shifts among raters or measurements, while absolute agreement penalizes those shifts.

Python Chart-by-Chart Interpretation

The Python charts turn the ICC calculation into a visual reliability story. They show rating means, subject profiles, model comparison, pairwise correlations, variance components and within-subject spread. Together, these visuals explain why the default ICC is so high.

Python Chart 1: Rating Means with Confidence Intervals

Python chart for Intraclass Correlation Coefficient showing rating means with confidence intervals for G1 G2 and G3
Python chart comparing the mean repeated scores for G1, G2 and G3 with confidence intervals.

This chart shows the average score for each repeated measurement column. The verified column means are G1 = 10.95, G2 = 11.50 and G3 = 12.35. The gradual increase indicates that the columns are not identical in level, but ICC(3,k) remains extremely high because consistency focuses on whether subjects keep similar relative positions across measurements.

The chart is important because it separates systematic measurement level from random measurement noise. If absolute agreement is the goal, differences among rating means matter more and ICC(2,k) is safer to report. If consistency is the goal, a stable ranking pattern can still produce an excellent ICC even when one measurement column has a slightly higher mean.

Python Chart 2: Subject Rating Profiles

Python subject profile plot for Intraclass Correlation Coefficient showing G1 G2 and G3 repeated scores by subject
Python profile chart showing repeated G1, G2 and G3 scores for each subject.

The subject profile chart shows one line or profile per subject across G1, G2 and G3. The profiles remain close within each subject, while different subjects have clearly different score levels. This is the ideal pattern for a high ICC: repeated values inside a subject are stable, but subject means differ enough to separate targets.

If the profiles crossed wildly or moved up and down randomly, within-subject error would be larger and ICC would fall. Instead, the chart supports the Excel result because the main visible pattern is between-subject separation, not measurement disagreement.

Python Chart 3: ICC Model Comparison

Python model comparison chart for ICC(1,1), ICC(1,k), ICC(2,1), ICC(2,k), ICC(3,1) and ICC(3,k)
Python chart comparing six common ICC model estimates.

The model comparison chart shows that all six ICC estimates are in the excellent range. Single-measure models are lower because they evaluate one score at a time. Average-measure models are higher because they evaluate the reliability of the average of three repeated scores. The default reported model, ICC(3,k), is the highest at 0.9968.

This chart helps readers understand why a post should not report “the ICC” without naming the model. ICC(1,1), ICC(2,1), ICC(3,1), ICC(1,k), ICC(2,k) and ICC(3,k) are related but not interchangeable. In this dataset they all lead to the same practical conclusion of excellent reliability, but in other datasets the model choice can change the conclusion.

Python Chart 4: Pairwise Correlation Heatmap

Python pairwise correlation heatmap for G1 G2 and G3 repeated measurements in an ICC analysis
Python heatmap showing pairwise correlations among G1, G2 and G3.

The heatmap gives a familiar correlation-based check before the model-based ICC interpretation. Strong positive pairwise relationships among G1, G2 and G3 show that subjects with higher values on one repeated measurement tend to have higher values on the other repeated measurements too. This supports the consistency interpretation.

Pairwise correlations are not a replacement for ICC because they do not handle all repeated measurements in one reliability model. However, the heatmap is useful as supporting evidence. It visually confirms that the repeated columns move together strongly.

Python Chart 5: Variance Components

Python variance component chart for Intraclass Correlation Coefficient showing subject variance and residual error
Python variance component chart showing the between-subject signal compared with residual measurement error.

The variance component chart shows the mathematical reason for the high ICC. The between-subject mean square is 39.4596, while the residual mean square is only 0.1254. In plain language, subjects differ a lot from one another, but repeated measurements inside the same subject differ very little after model effects are considered.

ICC increases when between-subject variation is large relative to error variation. This chart is therefore the most direct explanation of the result. The reliability is excellent because the signal is far larger than the noise.

Python Chart 6: Subject Mean vs Within-Subject Spread

Python scatter chart for ICC showing subject mean against within subject spread
Python chart comparing each subject’s average score with its within-subject spread.

This chart places each subject by average score and within-subject spread. A strong reliability pattern has many subjects with different means but small within-subject standard deviations. The sample follows that pattern: subject means range from low to high, while most within-subject spreads remain small.

This chart is useful for diagnosing whether a high ICC is driven by genuine subject differences. If all subjects had similar means, ICC would be low even if repeated measurements were close. Here, subject means vary widely and within-subject spread stays controlled, producing excellent reliability.

R Chart-by-Chart Validation

The R charts validate the same result with a second workflow. They use the same repeated measurements and produce the same reliability story with a colorful visual style. Agreement between Python and R strengthens confidence that the reported ICC values are reproducible.

R Chart 1: Colorful Rating Means with Confidence Intervals

R chart for ICC showing colorful rating means with confidence intervals
R validation chart comparing G1, G2 and G3 means with confidence intervals.

The R mean chart repeats the Python finding that G1, G2 and G3 increase slightly across the repeated columns. This does not contradict the high consistency ICC. It simply means the later measurement column has a higher average level while subjects remain ordered very similarly.

The practical interpretation is that average scores are reliable, but the analyst should choose the model based on the research question. Consistency is appropriate when stable ranking is acceptable. Absolute agreement is better when exact equality among rating levels matters.

R Chart 2: Colorful Subject Rating Profiles

R subject profile chart for ICC showing repeated score patterns across G1 G2 and G3
R validation profile chart showing repeated rating patterns for each subject.

The R profile chart confirms the strong within-subject stability. Each subject tends to remain in a similar performance band across the repeated scores. The profiles are not random zigzags; they show a stable measurement structure.

This is exactly what ICC is designed to detect. A high ICC is not just a high average score. It means repeated measurements reliably preserve differences among subjects.

R Chart 3: Colorful ICC Model Comparison

R chart comparing ICC models for intraclass correlation coefficient
R validation chart comparing ICC(1), ICC(2) and ICC(3) single and average measures.

The R model comparison again shows excellent reliability for every reported ICC model. ICC(1,1) and ICC(2,1) are about 0.955, ICC(3,1) is about 0.991, and the average-measure models are above 0.984. The highest result is ICC(3,k) at about 0.997.

This chart is the best visual for explaining single-measure versus average-measure reliability. If a researcher plans to use only one rater or one measurement, the single-measure ICC is the relevant value. If the final score is an average of three measurements, the average-measure ICC is the relevant value.

R Chart 4: Colorful Pairwise Correlation Heatmap

R colorful pairwise correlation heatmap for G1 G2 and G3 in ICC analysis
R validation heatmap showing strong pairwise relationships among the repeated measurements.

The R heatmap confirms that the repeated score columns are strongly related. High pairwise correlations are expected when ICC is high, because subjects who score high on one column also tend to score high on the other columns.

The heatmap should be described as a supporting diagnostic, not the final reliability test. ICC remains the main statistic because it accounts for the repeated-measurement design in a single reliability coefficient.

R Chart 5: Colorful Variance Components

R colorful variance components chart for Intraclass Correlation Coefficient
R validation chart showing subject and error variance components for ICC.

The R variance component chart repeats the central explanation: the subject component dominates the error component. This is why the model estimates excellent reliability. When subject differences are large and residual error is small, ICC approaches 1.

This is also the best visual for teaching the formula. ICC is essentially a signal-to-total-variation ratio. In this dataset, the signal is the stable difference between subjects, and the noise is the small residual disagreement among repeated measurements.

R Chart 6: Colorful Subject Mean vs Within-Subject Spread

R chart for ICC showing subject mean versus within-subject spread
R validation chart comparing each subject mean with its within-subject spread.

The final R chart confirms that the sample contains clear differences in subject means along with small repeated-measurement spread inside most subjects. This combination is the visual signature of excellent ICC reliability.

When writing a results paragraph, this chart supports the statement that reliability is high because measurement error is small relative to between-subject differences. It also helps readers understand why averaging G1, G2 and G3 is statistically defensible.

AdvertisementGoogle AdSense in-content placement reserved here

SPSS, R, Python and Excel Workflows for ICC

The same Intraclass Correlation Coefficient analysis can be reproduced in all four tools. The workflow is similar: arrange data with one row per subject and one column per repeated rating, calculate variance components, choose the ICC model and report the value with interpretation.

SoftwareMain StepsBest Use
SPSSAnalyze > Scale > Reliability Analysis; move G1, G2 and G3 into items; request Intraclass Correlation Coefficient; choose one-way random, two-way random or two-way mixed model.Formal output PDF, classroom submission and thesis reporting.
PythonRead data, reshape if needed, calculate ANOVA components manually or use a reliability package, then plot rating means, profiles, model comparison and variance components.Automated chart production and reproducible reporting.
RUse a reliability package such as psych or irr, or calculate formulas manually from mean squares, then validate charts with ggplot2.Statistical validation and publication visuals.
ExcelUse row means, column means, grand mean, sum of squares, mean squares and formulas for ICC(1), ICC(2) and ICC(3).Step-by-step teaching and fully worked formula explanation.

Code Blocks for Intraclass Correlation Coefficient

SPSS Syntax for Intraclass Correlation Coefficient

* Intraclass Correlation Coefficient in SPSS.
* Repeated measurement columns: G1 G2 G3.

OUTPUT CLOSE ALL.
OUTPUT NEW NAME=ICC_Output.

RELIABILITY
  /VARIABLES=G1 G2 G3
  /SCALE('G1 G2 G3') ALL
  /MODEL=ALPHA
  /STATISTICS=DESCRIPTIVE SCALE CORR ANOVA
  /ICC=MODEL(MIXED) TYPE(CONSISTENCY) CIN=95 TESTVAL=0.

* Optional absolute-agreement model for sampled raters.
RELIABILITY
  /VARIABLES=G1 G2 G3
  /SCALE('G1 G2 G3') ALL
  /MODEL=ALPHA
  /STATISTICS=DESCRIPTIVE SCALE CORR ANOVA
  /ICC=MODEL(RANDOM) TYPE(ABSOLUTE) CIN=95 TESTVAL=0.

OUTPUT EXPORT
  /CONTENTS EXPORT=VISIBLE
  /PDF DOCUMENTFILE='Intraclass-Correlation-Coefficient-SPSS-Output.pdf'.

Python Code for ICC from Mean Squares

import pandas as pd
import numpy as np

# Data must be wide: one row per subject, repeated ratings in columns.
df = pd.read_csv("dataset.csv")
ratings = df[["G1", "G2", "G3"]].dropna().astype(float)

n, k = ratings.shape
grand_mean = ratings.values.mean()
subject_means = ratings.mean(axis=1)
rating_means = ratings.mean(axis=0)

ss_subject = k * ((subject_means - grand_mean) ** 2).sum()
ss_rater = n * ((rating_means - grand_mean) ** 2).sum()
ss_total = ((ratings - grand_mean) ** 2).to_numpy().sum()
ss_error = ss_total - ss_subject - ss_rater
ss_within = ((ratings.sub(subject_means, axis=0)) ** 2).to_numpy().sum()

df_subject = n - 1
df_rater = k - 1
df_error = (n - 1) * (k - 1)
df_within = n * (k - 1)

ms_subject = ss_subject / df_subject
ms_rater = ss_rater / df_rater
ms_error = ss_error / df_error
ms_within = ss_within / df_within

icc_1_1 = (ms_subject - ms_within) / (ms_subject + (k - 1) * ms_within)
icc_1_k = (ms_subject - ms_within) / ms_subject
icc_2_1 = (ms_subject - ms_error) / (ms_subject + (k - 1) * ms_error + k * (ms_rater - ms_error) / n)
icc_2_k = (ms_subject - ms_error) / (ms_subject + (ms_rater - ms_error) / n)
icc_3_1 = (ms_subject - ms_error) / (ms_subject + (k - 1) * ms_error)
icc_3_k = (ms_subject - ms_error) / ms_subject

print("n subjects:", n)
print("k ratings:", k)
print("Grand mean:", round(grand_mean, 4))
print("ICC(1,1):", round(icc_1_1, 4))
print("ICC(1,k):", round(icc_1_k, 4))
print("ICC(2,1):", round(icc_2_1, 4))
print("ICC(2,k):", round(icc_2_k, 4))
print("ICC(3,1):", round(icc_3_1, 4))
print("ICC(3,k):", round(icc_3_k, 4))

R Code for Intraclass Correlation Coefficient

# Intraclass Correlation Coefficient in R
# Data must be wide: one row per subject, repeated ratings in columns.

df <- read.csv("dataset.csv")
ratings <- na.omit(df[, c("G1", "G2", "G3")])
ratings <- data.frame(lapply(ratings, as.numeric))

n <- nrow(ratings)
k <- ncol(ratings)
grand_mean <- mean(as.matrix(ratings))
subject_means <- rowMeans(ratings)
rating_means <- colMeans(ratings)

ss_subject <- k * sum((subject_means - grand_mean)^2)
ss_rater <- n * sum((rating_means - grand_mean)^2)
ss_total <- sum((as.matrix(ratings) - grand_mean)^2)
ss_error <- ss_total - ss_subject - ss_rater
ss_within <- sum((as.matrix(ratings) - subject_means)^2)

ms_subject <- ss_subject / (n - 1)
ms_rater <- ss_rater / (k - 1)
ms_error <- ss_error / ((n - 1) * (k - 1))
ms_within <- ss_within / (n * (k - 1))

icc_1_1 <- (ms_subject - ms_within) / (ms_subject + (k - 1) * ms_within)
icc_1_k <- (ms_subject - ms_within) / ms_subject
icc_2_1 <- (ms_subject - ms_error) / (ms_subject + (k - 1) * ms_error + k * (ms_rater - ms_error) / n)
icc_2_k <- (ms_subject - ms_error) / (ms_subject + (ms_rater - ms_error) / n)
icc_3_1 <- (ms_subject - ms_error) / (ms_subject + (k - 1) * ms_error)
icc_3_k <- (ms_subject - ms_error) / ms_subject

round(c(
  ICC_1_1 = icc_1_1,
  ICC_1_k = icc_1_k,
  ICC_2_1 = icc_2_1,
  ICC_2_k = icc_2_k,
  ICC_3_1 = icc_3_1,
  ICC_3_k = icc_3_k
), 4)

Excel Formulas for ICC

Assume repeated ratings are in B2:D21.

n subjects:
=COUNT(B2:B21)

k ratings:
=COUNTA(B1:D1)

Grand mean:
=AVERAGE(B2:D21)

Subject mean for row 2:
=AVERAGE(B2:D2)

Rating mean for G1:
=AVERAGE(B2:B21)

SS_subject:
=k*SUMXMY2(subject_mean_range, grand_mean_repeated_range)

SS_rater:
=n*SUMXMY2(rating_mean_range, grand_mean_repeated_range)

SS_total:
=SUMXMY2(all_scores_range, grand_mean_repeated_range)

SS_error:
=SS_total-SS_subject-SS_rater

MS_subject:
=SS_subject/(n-1)

MS_rater:
=SS_rater/(k-1)

MS_error:
=SS_error/((n-1)*(k-1))

ICC(3,k):
=(MS_subject-MS_error)/MS_subject

APA Reporting Wording for Intraclass Correlation Coefficient

When reporting ICC, always include the model, measure type, coefficient value and interpretation. If your software provides confidence intervals, include them after the ICC value. Do not report only “ICC was significant,” because reliability is judged mainly by the size and precision of the coefficient.

APA-Style Full Report

An intraclass correlation coefficient was computed to evaluate reliability across three repeated grade measurements, G1, G2 and G3, for 20 subjects. A two-way mixed-effects average-measure consistency model was selected because the same fixed repeated measurements were used and the reliability of the average score was the main target. The average-measure ICC was excellent, ICC(3,k) = .997. The corresponding single-measure consistency coefficient was also excellent, ICC(3,1) = .991. These results indicate that the repeated measurements were highly consistent and that averaging G1, G2 and G3 provides a very reliable score.

Short APA-Style Version

The repeated G1, G2 and G3 measurements showed excellent reliability using a two-way mixed-effects average-measure consistency model, ICC(3,k) = .997. The result indicates that the average repeated score is highly reliable for distinguishing subjects.

Absolute-Agreement Version

Using a two-way random-effects average-measure absolute-agreement model, reliability remained excellent, ICC(2,k) = .985. This indicates strong agreement for the average of the three measurements when the rater or measurement set is treated as sampled from a wider population.

Common Mistakes When Using ICC

MistakeWhy It Is a ProblemBetter Practice
Reporting “ICC = .997” without model nameReaders cannot know whether the result is ICC(1), ICC(2), ICC(3), single or average measure.Write the full model, such as ICC(3,k) = .997.
Using consistency when absolute agreement is requiredConsistency can stay high even if one rater is systematically higher or lower.Use absolute agreement when exact matching matters.
Reporting average-measure ICC for a single rating decisionAverage-measure ICC can overstate reliability if the user will only use one rating.Use single-measure ICC when decisions are based on one score.
Confusing ICC with Pearson correlationPearson correlation measures pairwise association, not full repeated-measure reliability.Use ICC when multiple ratings measure the same target.
Ignoring confidence intervalsA point estimate alone hides uncertainty.Report the confidence interval from SPSS, R or Python when available.

Downloads and Resources

Use the following resources to verify the Intraclass Correlation Coefficient result and reproduce the charts. Keep the filenames unchanged when uploading to WordPress so the links remain predictable.

FAQs About Intraclass Correlation Coefficient

What does Intraclass Correlation Coefficient measure?

It measures reliability, agreement or consistency among repeated ratings or measurements of the same subjects. It estimates how much observed variation is due to true subject differences compared with measurement error.

What is a good Intraclass Correlation Coefficient?

A common guide is below .50 = poor, .50 to .75 = moderate, .75 to .90 = good and .90 or higher = excellent. The worked result, ICC(3,k) = .9968, is excellent.

What is the difference between ICC(2) and ICC(3)?

ICC(2) is a two-way random-effects model and is used when raters or measurements are sampled from a wider population. ICC(3) is a two-way mixed-effects model and is used when the same fixed raters or repeated measurements are the only raters of interest.

What is the difference between single-measure and average-measure ICC?

Single-measure ICC estimates reliability for one rating or measurement. Average-measure ICC estimates reliability for the mean of all k ratings. Average-measure ICC is usually higher because averaging reduces error.

How do I calculate Intraclass Correlation Coefficient in Excel?

Arrange repeated scores in columns, calculate row means, column means, the grand mean, sum of squares, mean squares and then apply the ICC formulas. The worked file uses MS_subject = 39.4596 and MS_error = 0.1254, giving ICC(3,k) = 0.9968.

How do I report ICC in APA style?

Report the model, measure type, ICC value, confidence interval if available and interpretation. For example: “A two-way mixed-effects average-measure consistency ICC showed excellent reliability, ICC(3,k) = .997.”

Can ICC be used instead of Pearson correlation?

Not always. Pearson correlation is for pairwise association between variables. ICC is for reliability across repeated measurements of the same target. Use ICC when the columns are intended to measure the same construct or subject repeatedly.

AdvertisementGoogle AdSense bottom placement reserved here

Need help applying this to your own data?

Salar Cafe can help interpret output, clean datasets, review assumptions, build dashboards and explain statistical results ethically.

Need help interpreting your data analysis results?

Contact Salar Cafe
Engr. Muhammad Yar Saqib author profile photo

Engr. Muhammad Yar Saqib

WhatsApp Get Data Analysis Help