There are only two intrinsically meaningful values: None, and less than yesterday. Former indicates no analysis, second indicates new code/branch/paths checked in without tests.
Past that, it's all relative. Major code coverage here and sparse there tells some kind of story, either about lopsided risk, lopsided difficulty, or lopsided process.
Office365 introduced some crazy usage metrics like number of minutes and “engagement” and whatnot. It was total garbage and not right (showing my first active as 1030, despite using mobile and sending tons of email and doc edits at 6am). But it had a metric about engagement through using at mentions in my direct report chain. Some manager thought this was good and praised people very engaged and instructed people to be more engaged. A few folks just at mentioned instead of putting names in their email’s To field. They shot to the top of this dipshit’s leaderboard.
But it is useful for general signs of activity. So I think it’s stupid to say stuff like “foo has 120 commits and bar has 119; therefore foo is more productive”
But I think it’s a good starting point to think something like “Hrm, Bar only has 21 commits in a year and the rest of the team has 120. Let’s look into that.”
Sometimes there’s a good explanation (eg, “Foo makes a huge commit every two weeks, let’s talk to them about the benefit of daily check ins and branches”) but it also helps identify real problems.
I once worked with a company that was wrapping up a project. They have contractors 30 days notice to finish their work at the end of the release and go. One contractor went from regular activity to zero commits during the last month. Since I was supposed to integrate and code review his stuff, I asked if he would check in and he just said “yeah sure.” He left with no commits during the month. Not that there’s a specific number of commits that was good and he was obviously mentally checked out, but zero indicates something worth investigating.