First multi-JOIN with two aliases of the same dim table. Practice joining dim_plans twice (once for from_plan_id, once for to_plan_id), aggregating to (from_family, to_family) grain, and producing a migration matrix the pricing team can use to spot upgrade vs downgrade flows.