Team Coupling score
Team Coupling is measured via the overlap between the team member's commits and the files in the codebase. When two developers commit to the same files, then those developers are connected. For loosely coupled teams, the majority of co-commits should be between members of the same team; that indicates an alignment between the architecture of the system and the teams.
A low number suggests that there are few or even no areas in the code with shared contributions from different teams. A high number indicates tightly coupled teams where parts of the code have constant contributions from multiple teams.
The metric is calculated using the connectivity formula from graph theory.
Team Cohesion score
Team Cohesion is measured via the overlap between the team member's commits and the files in the codebase.
When two developers commit to the same files, then those developers are connected. We calculate a connection graph for each team and, using the Giant Component algorithm for networks, we determine to what degree the members of each team are connected.
100% Team Cohesion means that all members of the team work in exactly the same parts of the code. A lower number can mean either that a) some team members work in isolation, or b) some team members work in code outside the team's code (tightly coupled teams).