Все достаточно просто, если товар привязан только к одной категории. Пробежал по цепочке категорий вверх и посчитал. А если товар включен в несколько категорий? Какую выбрать?
Самый корректный вариант - учитывать категорию, из которой покупатель перешел на товар и добавил в shopping cart. Но система такой информации не имеет. Можно считать каждую категорийную цепочку, в которую включен товар. Но тогда происходит завышение количества и суммы продаж в для данного товара в 2-3 раза. Вроде, и правильно, что показывается статистика по данной категории, но суммарная картинка сильно смазывается и сбивает с толку.
Можно выбрать единственную цепочку из возможных для данного товара. Но какую? Модуль seo-pro вводит понятие главной категории, можно привязаться к ней, но не у всех же seo-pro установлен. Можно взять первую попавшуюся категорию. Но у пользователя опять возникнут вопросы типа "продажа была из 'велосипедов', а ее не показывают, а вместо этого какая-то 'для отдыха' появилась, не отчет а баг ходячий". Как эту проблему решить?