Volatility score is only available for users on “Growth” or “Scale” plans.Volatile files are indexed daily for organisations on the “Growth” plan and hourly for organisations on the “Scale” plan.
Volatile Files in PullRule highlight the files in your codebase that change frequently across multiple pull requests. These files tend to accumulate risk, slow down reviews, and signal architectural hotspots. By tracking these areas of high activity, Volatile Files help engineering teams identify:
  • Refactoring candidates
  • Ownership ambiguities
  • Potential sources of merge conflicts
  • Code that disproportionately impacts velocity

What makes a file volatile?

A file is classified as volatile when it exhibits:
  • High change frequency: Modified in a large number of pull requests over a given time window (e.g., 30 or 90 days).
  • Contributor spread: Touched by many different authors.
  • Review noise: Often included in otherwise unrelated PRs.
PullRule calculates a volatility score for each file based on the following formula:
Volatility score = recency weighted change count × unique authors
Recency weighted change count = ∑ e^(–λ × days ago)
The volatility score is also weighted by the recency of changes (weight = e^(-λ * days ago)), where λ is a decay factor that determines how quickly the score decreases over time. This ensures that recent changes have a greater impact on the score than older changes.

Example

If a file was changed 10 times in the last 30 days by 4 different people, and most of those changes were recent, it would receive a higher volatility score than a file with the same number of changes all done by one person last month.