Дописываю логику нового метода построения характеристик.
Новая идея состоит в следующем:
Для каждой группы пользовательских данных(оценки, егэ, олимпиады) строится список<название хар-ки, список значений>
(Список  значений получает путем вычислений результата * разные веса)
Данный список значений определенной(позже) логикой обрабатывается и получается новы список: <название хар-ки, значение>
Т.е. из списка делает одно общее значение.

Так для всех групп
В результате у нас несколько списков <название хар-ки, значение>
Аналогичным выше образом по определенной логике учитываем и их

В итогде - финальный список(словарь) <название хар-ки, значение>