Skip to main content
v2026.11,610 entries · CC-BY 4.0

Cook’s Distance and Influential Observations: Competing Thresholds, Leverage vs DFBETAS, and What to Do Next

The three Cook’s distance thresholds in circulation disagree with each other and none is what Cook proposed. A worked R demonstration separating outliers, high leverage and genuine influence, and the honest options for an influential point that is not a data error.

Ask about Cook’s Distance and Influential Observations: Competing Thresholds, Leverage vs DFBETAS, and What to Do Next

Answers are drawn from this guide and the rest of the CASRAI corpus, with a link to every source.

Answers are AI-generated from CASRAI’s own published pages and can be wrong, so check the linked sources before relying on one; your question is logged without personal data — never sold, never used to train a third-party model — to show us what CASRAI is missing, so please do not type personal or confidential details. How we use this

Written and maintained by CASRAI Editorial Board

Last updated

Most treatments of Cook’s distance give you one cutoff and move on. There are at least three in circulation — D > 1, D > 4/n and D > 4/(n − k − 1) — they flag different points on the same data, and none of them is what Cook proposed in 1977. This page treats that disagreement as the subject rather than papering over it, puts Cook’s D next to leverage and DFBETAS so you can tell why a point is influential, and then covers the part most pages skip: what you are supposed to do with an influential observation that turns out not to be an error.

Everything numerical below is real output from R 4.6.1 on a seeded dataset you can reproduce line-for-line.

What Cook’s distance actually measures

Cook’s D is a deletion diagnostic. For observation i it asks: if I refit the model without this one point, how far does the whole coefficient vector move? It is not a measure of how far the point sits from the line, and it is not a measure of how unusual its predictors are. It is a measure of the consequence of the point’s presence for the estimates you are going to report.

Cook (1977) defines it as the distance between the full-data estimate and the delete-one estimate, scaled by the covariance structure of the fit. The computationally useful identity in the same paper decomposes it into two recognisable pieces:

D_i = (t_i^2 / p) * (v_i / (1 - v_i))

where t_i is the studentized residual, v_i is the ith diagonal of the hat matrix (the leverage), and p is the number of estimated parameters including the intercept. That product is the entire conceptual content of the diagnostic, and it is why the three-way distinction in the next section matters: influence is residual multiplied by leverage. Either factor near zero drives D toward zero no matter how extreme the other one is.

Cook’s own framing of the problem is worth quoting, because it is the reason the measure exists at all. Having noted that a point carries two separate diagnostics that must be judged together, he asks: “assuming the mean square for error to be 1.0, which point from the set (t_i, V(R_i)) = (1, .1), (1.732, .25), (3, .5), (5.196, .75) is most likely to be critical?” The answer is that all four have identical impact — pD_i = 9.0 in every case — for entirely different reasons. Two are outliers in the response; the other two are not, and you would have to inspect the design matrix to find out why they matter.

Outlier, high leverage, influential: three different things

These three words are used interchangeably in a great deal of applied writing, and they are not synonyms. The cleanest way to see it is to build a dataset in which each property appears without the others.

Start with twenty well-behaved points from y = 2 + 1.5x + e, then define three anomalies:

  • A — far out in x, but sitting exactly on the true line. High leverage, not an outlier.
  • B — at the centre of the x range, but badly off in y. An outlier, minimal leverage.
  • C — far out in x and far off the line. Both at once.
set.seed(2026)
x0 <- round(runif(20, 1, 10), 2)
y0 <- round(2 + 1.5 * x0 + rnorm(20, 0, 1), 2)
base <- data.frame(x = x0, y = y0)

anom <- data.frame(x = c(18.00, 5.50, 16.00),
                   y = c(29.00, 18.25, 17.00),
                   row.names = c("A", "B", "C"))

fit0 <- lm(y ~ x, data = base)
coef(fit0)
#> (Intercept)           x
#>    2.248042    1.485048

The clean fit recovers the truth closely: intercept 2.25 against 2, slope 1.485 against 1.5. Now add each anomaly to the clean twenty one at a time, so nothing is confounded with anything else, and read the diagnostics for the added point:

one_at_a_time <- function(lbl) {
  d <- rbind(base, anom[lbl, ])
  f <- lm(y ~ x, data = d)
  i <- nrow(d)
  data.frame(point     = lbl,
             hat       = hatvalues(f)[i],
             stdres    = rstandard(f)[i],
             cooksD    = cooks.distance(f)[i],
             dfbetas_x = dfbetas(f)[i, "x"],
             slope     = coef(f)[2])
}
do.call(rbind, lapply(c("A", "B", "C"), one_at_a_time))
Point hat (leverage) Studentized residual Cook’s D DFBETAS (slope) Fitted slope
A high leverage, on the line 0.6123 0.0116 0.0001 0.0137 1.4860
B large residual, central x 0.0564 3.6594 0.3999 0.6308 1.5514
C high leverage, off the line 0.5375 −3.3972 6.7064 −5.4314 1.0850

Read the three rows against each other and the distinction becomes concrete:

  • A has the highest leverage in the dataset by a wide margin — 0.6123, more than three times the conventional 2p/n screening value of 0.1905 at this sample size — and a Cook’s D of 0.0001. The slope moves from 1.4850 to 1.4860. A point with enormous potential to move the fit does not move it, because it agrees with the rest of the data. High leverage is capacity to influence, not influence.
  • B is unambiguously an outlier in the response — a studentized residual of 3.66 — with leverage of 0.0564, below the screening value. Its Cook’s D is 0.3999 and it shifts the slope by about two-thirds of a standard error. A real outlier, and yet a modest influence, because it sits where the data are dense and the fitted line pivots around it rather than through it.
  • C is both, and the product term does what the formula says it will: Cook’s D of 6.7064, and a slope dragged from 1.4850 down to 1.0850 — nearly four standard errors, and well outside the confidence interval the clean data would have produced.

A residual plot will show you B immediately and can easily hide A and C, which is the practical case for computing these numbers rather than eyeballing the picture — see reading a residual plot for homoscedasticity and assumption failures for what the visual pass does and does not catch.

The competing thresholds, and what each one actually flags

Now put all three anomalies into a single dataset (n = 23, one predictor, so k = 1 and p = 2) and compute the diagnostics on one fit:

d <- rbind(base, anom)
d$id <- seq_len(nrow(d))
fit <- lm(y ~ x, data = d)
n <- nrow(d); k <- 1; p <- k + 1

data.frame(id     = d$id,
           x      = d$x,
           y      = d$y,
           hat    = round(hatvalues(fit), 4),
           stdres = round(rstandard(fit), 3),
           cooksD = round(cooks.distance(fit), 4),
           dfb_x  = round(dfbetas(fit)[, "x"], 3))[21:23, ]
#>  id    x     y    hat stdres cooksD  dfb_x
#>  21 18.0 29.00 0.4206  1.463 0.7772  1.216
#>  22  5.5 18.25 0.0435  3.062 0.2131 -0.012
#>  23 16.0 17.00 0.3091 -3.003 2.0169 -2.405

Apply each rule in circulation and record which observations it flags:

cd <- cooks.distance(fit)
which(cd > 1)                                 #> 23
which(cd > 4 / n)                             #> 21, 22, 23
which(cd > 4 / (n - k - 1))                   #> 21, 22, 23
which(hatvalues(fit) > 2 * p / n)             #> 21, 23
which(abs(dfbetas(fit)[, "x"]) > 2 / sqrt(n)) #> 21, 23

# cutoff values at n = 23, k = 1, p = 2
# 4/n = 0.1739 | 4/(n-k-1) = 0.1905 | 2p/n = 0.1739 | 2/sqrt(n) = 0.4170
Rule Cutoff here Flags Where it comes from
D > 1 1 23 only A simplification of Cook’s F-percentile calibration; see below
D > 4/n 0.1739 21, 22, 23 Simplified form of the Bollen & Jackman rule
D > 4/(n − k − 1) 0.1905 21, 22, 23 Bollen & Jackman (1985), Sociological Methods & Research
hat > 2p/n 0.1739 21, 23 Conventional leverage screen (Hoaglin & Welsch)
|DFBETAS| > 2/sqrt(n) 0.4170 21, 23 Belsley, Kuh & Welsch (1980)

Three observations follow from this table, and they are the reason the “one cutoff” presentation is misleading.

First, the rules genuinely disagree. D > 1 returns a single point. The two 4/n-family rules return three — a two-thirds larger flag set on the same fit. Which paragraph of which textbook you read determines what your analysis reports as influential.

Second, 4/n and 4/(n − k − 1) are not meaningfully different rules. Here they are 0.1739 and 0.1905 and flag identical sets. They only diverge when k is large relative to n, which is exactly the regime where any fixed cutoff is least trustworthy. Treating them as two competing options is a distinction without a difference in most applied work; the real fork is between the 4/n family and D > 1.

Third, note the coincidence at the bottom of the table. 4/n and 2p/n are numerically identical here — both 0.1739 — because p = 2. That is an arithmetic accident of simple regression with an intercept, not a relationship between the two diagnostics, and it disappears the moment you add a predictor. If you are checking your own work, do not read that equality as confirmation that anything is right.

What Cook actually proposed, and why almost nobody uses it

Cook did not propose a fixed number. In Cook, R. D. (1977), “Detection of Influential Observation in Linear Regression,” Technometrics 19(1), 15–18, the calibration is distributional: refer D_i to the percentage points of the central F distribution with p and n − p degrees of freedom. In Cook’s own words:

“Suppose, for example, that D_i [is approximately] F(p, n − p, .5), then the removal of the ith data point moves the least squares estimate to the edge of the 50% confidence region for β based on [the full-data estimate]. Such a situation may be cause for concern. For an uncomplicated analysis one would like each [D_i] to stay well within a 10%, say, confidence region.”

That is a substantively different instruction from any fixed cutoff. It says: express the deletion effect as a confidence-region percentile, and interpret it on that scale. Cook’s own worked examples do exactly this — on the Longley data, the 1951 observation’s D corresponds to movement to the edge of a 35% confidence region and the 1962 observation to roughly a 15% region; on the Hald data the largest D moves the estimate only to the edge of a 10% region, which he describes as well behaved.

The D > 1 rule is best understood as a rough stand-in for the 50th percentile of that F distribution. You can check how good a stand-in it is directly:

qf(0.5, p, n - p)   # p = 2, n = 23
#> 0.7165

for (pp in c(2, 3, 5, 10, 20))
  cat("p =", pp, " n = 200  50th pct of F(p, n-p) =",
      round(qf(0.5, pp, 200 - pp), 4), fill = TRUE)
#> p = 2   n = 200  50th pct of F(p, n-p) = 0.6956
#> p = 3   n = 200  50th pct of F(p, n-p) = 0.7914
#> p = 5   n = 200  50th pct of F(p, n-p) = 0.8733
#> p = 10  n = 200  50th pct of F(p, n-p) = 0.9375
#> p = 20  n = 200  50th pct of F(p, n-p) = 0.9705

So D > 1 approximates Cook’s 50% criterion reasonably well for a model with many parameters, and is conservative for a small model — in a simple regression the 50% point is around 0.70, so a threshold of 1 lets through points Cook’s own guidance would have called cause for concern. More to the point, Cook’s stated target for “an uncomplicated analysis” is not the 50% region at all but well inside the 10% region, which is a far stricter standard than either D > 1 or 4/n.

The honest summary is that none of the three common thresholds is a significance test. Cook’s distance has no null distribution being tested here; the F reference is a descriptive scale for expressing how far the estimate moves, not a hypothesis test with a Type I error rate. Every rule in the table above is a screening heuristic whose job is to shorten the list of points you look at by hand. Reporting “observation 23 is influential (p < .05)” is a category error.

Reading Cook’s D beside leverage and DFBETAS

Cook’s D collapses two things into one number, which makes it a good screen and a poor explanation. Once a point is flagged, the diagnostic question is why, and that requires unpacking the product again. Three companion measures do the unpacking:

  • Leverage (hatvalues()) — how unusual the point’s predictor values are, with no reference to y at all. A high-leverage point can be perfectly consistent with the model, as A demonstrates.
  • Studentized residuals (rstandard(), rstudent()) — how badly the model fits this point’s response, standardised. Answers “is it an outlier,” not “does it matter.”
  • DFBETAS (dfbetas()) — the shift in each individual coefficient, in standard-error units, when the point is deleted. Cook’s D is a single number for the whole coefficient vector; DFBETAS is one number per coefficient, which is what you want when the model has several predictors and only one of them is being moved. DFFITS (dffits()) is the analogous quantity for the fitted value.

The diagnostic value of reading them together is visible in the n = 23 table above. Observations 21 and 23 have similar leverage (0.42 and 0.31) and are flagged by every rule that looks at the predictors. Observation 22 has leverage of 0.0435 — the lowest anomalous value in the set — and a DFBETAS on the slope of −0.012, effectively nil, yet the 4/n rule flags it because its enormous residual (3.062) alone pushes Cook’s D past the cutoff. Three columns tell you that 22 is a response problem and 21/23 are design problems. Cook’s D on its own does not.

Then refit, which is the only measurement that is not a proxy:

se <- summary(fit)$coefficients["x", "Std. Error"]   #> 0.1297

#                intercept  slope shift_SE
# all 23            3.4742 1.2554    0.000
# drop 21 (A)       4.1057 1.1023   -1.181
# drop 22 (B)       3.1099 1.2566    0.009
# drop 23 (C)       2.5445 1.4970    1.862
# drop 21 and 23    2.3245 1.5514    2.282

Dropping observation 22 — the one with the largest residual in the dataset — changes the slope by 0.009 standard errors. Dropping 23 changes it by 1.86. That gap is the entire practical point of the outlier/influence distinction, and it is invisible in a residual plot.

Masking and swamping: single-deletion diagnostics are not additive

There is a failure mode in every diagnostic on this page that is rarely stated plainly: they all delete one point at a time. When several unusual points are present, they distort each other’s diagnostics.

Watch what happens to observation A, the harmless high-leverage point:

#> A on its own (n = 21):        Cook D = 0.0001
#> A with B and C present:       Cook D = 0.7772
#> A once C is removed (n = 22): Cook D = 0.1148

A did not change. The dataset around it did. Because C drags the fitted line downward, A — which lies on the true line — acquires a residual it did not previously have, and its Cook’s D rises by nearly four orders of magnitude, enough to be flagged by both 4/n-family rules. This is swamping: a clean observation made to look influential by the presence of a genuinely contaminated one. Remove C and A’s D falls back to 0.1148, below the cutoff at that sample size.

The reverse phenomenon is masking: two similar contaminated points propping each other up, so that deleting either alone barely moves the fit and neither is flagged. The last row of the refit table hints at it — dropping 21 and 23 together moves the slope 2.28 standard errors, more than dropping either individually, and recovers a slope of 1.5514 against a truth of 1.5.

Practical consequences:

  • A clean single-deletion pass is not proof there is no influence problem. It is only evidence about one-at-a-time deletion.
  • Do not delete flagged points sequentially and re-screen. Each pass changes the reference fit, and it is easy to walk a dataset step by step into a model of the subset that agreed with you.
  • Where several points are flagged, a high-breakdown robust fit (below) is a more reliable way to see whether the bulk of the data tells a different story than iterated deletion is.

What to do with an influential point that is not an error

This is the section most treatments omit, and it is where the 4/n rule does real damage — it is very often applied as a deletion trigger, which it is not. Cook’s distance is a flag for inspection. It is not a criterion for removal, and no cutoff on this page authorises deleting anything.

Work through the options in order.

1. Check whether it is a data error

Transcription slips, unit mismatches, sentinel values (−99, 999) read as real numbers, a merge that duplicated a row, an instrument out of calibration on one run. If the point is wrong, correct it or remove it — and record the reason and the point identifier, because “we removed observations we determined to be data-entry errors” is a verifiable claim and “we removed outliers” is not. This is the only branch where deletion is straightforwardly appropriate, and it is justified by the error, never by the value of D.

2. Report the analysis with and without the point

If the point is real, this is usually the right answer. Present the full-data model as primary and the delete-one model as a sensitivity analysis, in the same table, with the influential observations identified. The reader then sees the range of conclusions the data support instead of one estimate chosen from that range. Where the two agree, you have strengthened the result; where they disagree, that disagreement is the finding and concealing it misrepresents the evidence. This is the ordinary form of a robustness check, and specifying it in advance in a statistical analysis plan removes the temptation to choose after seeing which version you prefer.

3. Use an estimator that is not driven by single points

Robust regression downweights discrepant observations continuously instead of applying a keep-or-delete decision, so nothing is discarded and no arbitrary cutoff is required. On the same contaminated 23-point dataset:

library(MASS)
rlm(y ~ x, data = d)                    # Huber M-estimation
rlm(y ~ x, data = d, method = "MM")     # MM-estimation

#> OLS on all 23 : 3.4742 1.2554
#> rlm Huber     : 2.5837 1.4297
#> rlm MM        : 2.2523 1.4893
#> truth         : 2.0000 1.5000

# lowest Huber weights, by observation id
#>    23     22      5     13
#> 0.197  0.213  0.614  0.947

OLS reports a slope of 1.2554 against a true 1.5. Huber M-estimation recovers 1.4297 and MM-estimation 1.4893, without deleting a single row — and the weights identify observations 23 and 22 as the downweighted ones, which is a diagnostic in its own right. Note the ordering: MM-estimation does better than Huber here because Huber M-estimation downweights on residuals only and therefore offers limited protection against a high-leverage discrepant point like 23, which is precisely the case at hand. If you reach for robust regression because of an influence problem, reach for a high-breakdown estimator (MM, or robustbase::lmrob), not plain Huber.

4. Reconsider the model

An influential point is frequently a message about specification rather than about the point. Common cases: the relationship is non-linear and the flagged observation is at the end of the range where the curvature shows; a missing interaction or subgroup is doing the work; the response needs a transformation; the point belongs to a population the model was never meant to cover, in which case the fix is an explicit scope restriction stated in the methods, not a quiet deletion. A cluster of flagged points at one end of a predictor is a specification signal, not four independent anomalies. Where influence coincides with a predictor that is also collinear with others, see multicollinearity and VIF; where it reflects a systematically non-random relationship between predictor and error, see endogeneity and the remedy that matches each source.

Why silent deletion is an integrity problem, not a style preference

Removing an observation because it moved the estimate, and not disclosing it, changes the reported result without changing the record of how the result was produced. Under the US federal research misconduct framework, 42 CFR 93.212 defines falsification as “manipulating research materials, equipment, or processes, or changing or omitting data or results such that the research is not accurately represented in the research record.” Omitting data is named in the definition.

Two qualifications matter and should not be lost. A finding of research misconduct under 42 CFR 93.103 requires all three of: a significant departure from accepted practices of the relevant research community; that the act was committed intentionally, knowingly or recklessly; and proof by a preponderance of the evidence. And the same part states expressly that research misconduct “does not include honest error or differences of opinion.” A defensible, disclosed judgement to exclude a point is a difference of opinion that a reader can evaluate. An undisclosed one is not, because there is nothing left in the record for anyone to disagree with.

The practical rule that follows is simple and does not require anyone to adjudicate intent: disclosure converts an analytic judgement into something reviewable. State which observations were excluded, how many, on what criterion, whether the criterion was set before or after seeing the results, and what the estimates look like both ways.

Cook’s distance outside ordinary least squares

R’s cooks.distance() has methods for glm objects, so it will return values for a logistic or Poisson fit without complaint. The quantity is not the same one. For generalised linear models the standard implementation is a one-step approximation built on working residuals and the weighted hat matrix rather than an exact delete-one refit, and the F-percentile calibration Cook derived for the normal-theory linear model does not carry over. The 4/n family is used in that setting purely as a screening convention with no distributional backing at all. Treat GLM influence values as relative rankings within a fit, verify anything important with an actual delete-one refit, and see logistic regression in R for the glm() diagnostic workflow and interpreting and reporting the logit model for what belongs in the write-up.

Panel and clustered designs raise a further issue: deleting a single observation is often the wrong unit of analysis. In a fixed-effects or difference-in-differences design the meaningful question is usually whether one unit or one cohort drives the estimate, which calls for leave-one-cluster-out refits rather than leave-one-row-out diagnostics. Standard cooks.distance() output will not answer it.

A reporting checklist

  • Say which diagnostics you computed — Cook’s D, leverage, studentized residuals, DFBETAS — not merely that you “checked for outliers”.
  • State the threshold you used and which one it is. “Cook’s D > 4/n” and “Cook’s D > 1” are different claims and produce different flag sets on the same data.
  • Report n, k and the resulting numeric cutoff, so the rule is reproducible rather than nominal.
  • Report how many observations were flagged, and how many were excluded. These are usually different numbers, and where they are equal a reader will reasonably infer the flag was used as a deletion trigger.
  • For any exclusion, give the substantive reason, not the diagnostic value.
  • Where a real observation was influential and retained, report the estimates with and without it.
  • State whether the exclusion criterion was pre-specified.
  • Check the other assumptions on the same fit rather than in isolation — normality of the residual distribution, homoscedasticity, and collinearity all interact with influence, and a single point can be the reason another assumption appears to fail.

Frequently asked questions

What is a good Cook’s distance value?

There is no single answer, which is the honest one. D > 1 and D > 4/n are both in wide use and flag different sets; on the 23-point example above, the first flagged one observation and the second flagged three. Cook’s own guidance was distributional rather than fixed: refer D to the percentiles of F(p, n − p) and aim for every value to sit well inside a 10% confidence region. Whichever you use, say which one you used.

Is Cook’s distance greater than 1 always a problem?

A value above 1 means deleting that observation moves the coefficient vector to roughly the edge of a 50% confidence region — that is a large movement and always warrants inspection. It does not by itself mean anything is wrong with the data. In a small sample, one legitimate observation at the end of the predictor range can exceed 1 simply because there is little else out there to constrain the fit.

Is a high-leverage point always influential?

No, and this is the most common confusion in the topic. In the worked example, observation A had leverage of 0.6123 — over three times the conventional screening value — and a Cook’s D of 0.0001, because it agreed with the model. Leverage measures how much a point could move the fit if its response were unusual. Influence measures how much it does.

Should I delete observations with Cook’s D above 4/n?

No. The 4/n rule is a screening heuristic that shortens the list of points to examine; it is not a deletion criterion and it flags points routinely — roughly, any point whose deletion effect is above average. Deleting on it will systematically remove observations that disagree with the model, which biases estimates toward the conclusion you already had and shrinks standard errors that should have stayed wide.

What is the difference between Cook’s distance and DFBETAS?

Cook’s D gives one number summarising the movement of the entire coefficient vector when a point is deleted. DFBETAS gives one number per coefficient, expressed in standard errors. In a multi-predictor model that difference is practical: a point can be highly influential overall while moving only one coefficient, and DFBETAS tells you which. DFFITS is the same idea applied to the fitted value rather than the coefficients.

Can I use Cook’s distance for logistic regression?

R will compute it for a glm fit, but it is a one-step approximation based on working residuals rather than an exact delete-one refit, and Cook’s F-percentile calibration does not apply. Use it to rank observations within the fit, then verify any consequential case by actually refitting without it.

Which R functions do I need?

cooks.distance(), hatvalues(), rstandard() and rstudent(), dfbetas() and dffits() are all in base R and take an lm object directly. influence.measures() returns all of them in one table with default flagging. plot(fit, which = 4) gives a Cook’s distance index plot and which = 5 gives residuals against leverage with Cook’s distance contours — the single most useful plot for this question, because it shows all three concepts on one pair of axes. For robust alternatives, MASS::rlm and robustbase::lmrob.

Sources

  • Cook, R. D. (1977). “Detection of Influential Observation in Linear Regression.” Technometrics 19(1), 15–18. doi:10.1080/00401706.1977.10489493. Source of the measure, the decomposition into studentized residual and leverage, and the F(p, n − p) confidence-region calibration quoted above.
  • Bollen, K. A. & Jackman, R. W. (1985). “Regression Diagnostics: An Expository Treatment of Outliers and Influential Cases.” Sociological Methods & Research 13(4), 510–542. Origin of the 4/(n − k − 1) cutoff, of which 4/n is the simplified form.
  • Belsley, D. A., Kuh, E. & Welsch, R. E. (1980). Regression Diagnostics: Identifying Influential Data and Sources of Collinearity. Wiley. Source of DFBETAS, DFFITS and their conventional size-adjusted cutoffs.
  • 42 CFR Part 93 (US Public Health Service Policies on Research Misconduct), as restructured at 89 FR 76295, 17 September 2024 — § 93.212 (falsification), § 93.103 (requirements for a finding), and the honest-error exclusion.
  • All numerical output on this page was produced with R 4.6.1 (2026-06-24) using set.seed(2026) and base stats plus MASS, and is reproducible from the code shown.

This guide sits in the research methods cluster. For the wider fitting and reporting workflow see regression analysis: assumptions, interpretation and reporting, and for what a coefficient’s uncertainty does and does not license, statistical significance.

Follow CASRAI

Research-administration guidance, standards updates and independent tool reviews.

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →

Regulatory Radar

Stop finding out after the fact

$29/month, cancel anytime. Daily digest updates from our analysis, a dashboard holding the same items, and a cited assistant for everything they raise.

  • Federal Register, Federal Register+, Grants.gov, Regulations.gov, NSF News, UKRI, plus CASRAI’s own published content.
  • 44,322 indexed passages, and every answer cites the ones it drew on.