tailscale used to do this for teams ("active user billing"), but recently changed pricing models to be purely seat-based.
they had a whole webinar about it with all sorts of justification, although most of it sounded like mba-isms to me.