What is "SAM Score"?
The suggested action metric (SAM) score is a single number meant to help maintainers of open-source repositories get an at-a-glance health check for their repo.
The formula for SAM score is simple:
// Simple ratio: what percentage of all issues ever are still open? let open_ratio = (open_issues / open_issues + closed_issues) // Scale: how many total issues have you ever had? let scale_factor = (open_issues + closed_issues) // SAM score is the ratio of open to closed issues multiplied by a logarithmic // scale factor. let score = open_ratio * Math.log(Math.E + scale_factor)
The goal is to get the lowest SAM score possible without "gaming" the system through bug bankruptcy or other developer-unfriendly processes.
The basic principles are:
- Open issues are bad, closed issues are good.
- 100 out of 200 issues open is worse than having 1 out of 2.
- Repos with more issues require more attention, but not linearly so.
SAM Scores fall into the following buckets:
- < 0.5 - Excellent
- < 1.0 - Good
- < 2.0 - Okay
- > 2.0 - Poor