Metrics · LGTM · M

Momentum

Is the team measurably improving at working with AI?

Momentum is the direction of the other readings over time: the slope of a simple composite — Landing, inverse friction, the felt score — across trailing windows. It is the number the maturity ladder's top level asks about: whether the loop is actually compounding.

What it reads

  • The composite reading (Landing, inverse friction, felt) for each of the last six windows
  • Consistent window boundaries and team scope across the series

How it’s computed

Compute the same composite for six trailing windows and fit a line. The slope is Momentum; the series itself ships with it.

// six trailing windows of the same composite const series = lastWindows(6).map(w => ({ at: w.end, value: mean([ landing(team, w), 1 - normalize01(friction(team, w)), felt(team, w) / 100, ]), })); const momentum = slope(linearFit(series)); // > 0 : compounding // always published with the series — never the slope alone

How to read it

  • Positive Momentum is the compounding the loop promises: the record is read, findings return to the work, and the next window is a little better.
  • Flat Momentum with healthy levels is fine — a strong steady state. Negative Momentum during a tool change is normal; negative for three windows is a conversation.

How it gets misused

  • Six points fit a line, they don't prove a law. Momentum flags direction; the components say why.
  • Comparing Momentum between teams punishes the ones who started strong. It's a team-against-itself number.