Хабр Курсы для бэкендеров
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

То что вы описали это близко к поэтапному методу распределения затрат, а для программной реализции гораздо удобнее метод взаимного распределения. При его использовании задача сводится к составлению системы линейных уравнений которая уже быстренько решается. Точно размеры матрицы смежности которая у нас получалась я уже не вспомню, но до момента как начали использовать тот же подход для расчета подетальной себестоймости весь расчет был реализован на стороне БД, потом уже пришлось для решения СЛАУ прикрутить вызов umfpack
Последовательное иерархическое распределение сумм. Создание БД. Распределение сумм по правилам средствами PostgreSQL