The same engine as a Sankey, fed by ApexSankey.buildAlluvialData from categorical records across dimensions. Each plan keeps its color across every year, so a cohort reads as one stream. Axis labels come from axisTitles.
ApexSankey.buildAlluvialData
axisTitles