function calculatePayoutVariables() public canPayout {
        
        uint contract_duration = (end_date - start_date) / DAY_IN_SECONDS;
        uint24 ym = concatYearMonth(winning_year, winning_month);
        Totals storage ymt = ym_totals[ym];

        
        for (uint16 i = 0; i < ymt.days_with_predictions.length; i++) {
            uint16 day = ymt.days_with_predictions[i];
            uint amount_on_day = ymt.amount_on_day[day];
            uint multiple_for_day = ((contract_duration - day) * amount_on_day);
            payout_multiples[day] = multiple_for_day;
            payout_normalizer += multiple_for_day;
        }
    }