OPT: cleanup, work only on needed products intead of entire collection [Fixes #82337558]
FIX: roundup product[:deviation_for_period] if 0..1 round otherwise [Fixes #82337558]
FIX: product[:deviation_for_period] is calculated based on ideal_for_period instead of missing_for_period [Fixes #82570704]