Хранить данные в бд или делать расчеты каждый раз?
Вопрос, конечно, не про калькулятор. 
Хранить или не хранить решается по нескольким критериям.
1. Как вы указали в случае сложных расчётов (хранение выступает аналогом кеширования) 
2. Данные будут использоваться для агрегатов (других расчётов и статистики)
Если ответ "да" на один из пунктов, то хранить.
Если везде ответ "нет", то не хранить.
Я пишу калькулятор, делать мне расчеты на лету или хранить все решения в базе?