License removal has asymmetric outcomes: done right it saves a seat, done wrong it takes down a mailbox or a Teams meeting mid-quarter. The difference is whether the removal was preceded by the three checks that predict its effect.

The three pre-removal checks#

Before unassigning from a user or changing a group assignment:

  • Source check: is this the only source, or does another direct membership or direct assignment also grant the SKU? Removing one of two sources changes nothing.
  • Scope check: for a group assignment, the affected population is the group's direct user members; enumerate them completely before changing the assignment.
  • Dependency check: which service plans are actually in use, and what data depends on them, since some services have retention behavior after unassignment.

Group removals are population changes#

Editing one group license assignment is not one change, it is as many changes as there are direct members, minus those covered by other sources. That arithmetic is precisely what flat views cannot do, and precisely what makes group-level license edits feel dangerous enough that teams avoid them and waste persists.

VisualizerEngine

How VisualizerEngine does it

Removal impact analysis is the feature version of the three checks: before you unassign, it shows exactly who loses what, accounting for every overlapping path. What-if simulation extends it to multi-step changes, and the change-history panel confirms afterwards that reality matched the prediction.