For granularity, you can add a 2nd dimension to the category like so:scarves:silkscarves:cottont-shirts:cottont-shirt:linenetc...Now, when the user navigates your site, the category affinity array could look like this:[scarves:cotton, t-shirts:cotton, t-shirts:linen, t-shirts:silk, bedsheets:cotton]...