Projected monthly total based on current progress in current month

Is there a way to project the month-end value based on the current month's progress in a bar chart? So if there are 10 days of data totaling 1M widgets during September (9/1-10), it will project 3M widgets for the current month (1M will be solid and 2M will be striped to signify striped).

I see a whole bunch of options in the Last Value Projection tool… but none of them seem to provide a simple estimate. Below is an example, which is misleading…

Best Answers

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    You can utilize a window function to calculate the estimated month depending on the number of days that have elapsed in the current month.

    LAST_DAY returns the number of days in the month

    Running Total:

    CASE WHEN `Date` < CURRENT_DATE() THEN
    SUM(SUM(`Sales`)) OVER (PARTITION BY LAST_DAY(`Date`) ORDER BY `Date`)
    END

    End of Month Estimate:

    CASE WHEN `Date` < CURRENT_DATE() THEN
    SUM(SUM(`Sales`)) OVER (PARTITION BY LAST_DAY(`Date`) ORDER BY `Date`)
    /
    DAYOFMONTH(`Date`)
    *
    DAYOFMONTH(LAST_DAY(`Date`))
    END

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • MichelleH
    MichelleH Coach
    Answer ✓

    @NathanDorsch You can have more control over projections by adding a second Beast Mode series to your bar chart instead of using the Last Value Projection in Analyzer. In your case, the formula should look something like this:

    sum(case 
       when LAST_DAY(`Date`) = LAST_DAY(CURRENT_DATE()) 
         then `Value` * (DAY(LAST_DAY(CURRENT_DATE())) - DAY(CURRENT_DATE())) / DAY(LAST_DAY(CURRENT_DATE()))
       else 0
    end)
    

Answers

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    You can utilize a window function to calculate the estimated month depending on the number of days that have elapsed in the current month.

    LAST_DAY returns the number of days in the month

    Running Total:

    CASE WHEN `Date` < CURRENT_DATE() THEN
    SUM(SUM(`Sales`)) OVER (PARTITION BY LAST_DAY(`Date`) ORDER BY `Date`)
    END

    End of Month Estimate:

    CASE WHEN `Date` < CURRENT_DATE() THEN
    SUM(SUM(`Sales`)) OVER (PARTITION BY LAST_DAY(`Date`) ORDER BY `Date`)
    /
    DAYOFMONTH(`Date`)
    *
    DAYOFMONTH(LAST_DAY(`Date`))
    END

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • MichelleH
    MichelleH Coach
    Answer ✓

    @NathanDorsch You can have more control over projections by adding a second Beast Mode series to your bar chart instead of using the Last Value Projection in Analyzer. In your case, the formula should look something like this:

    sum(case 
       when LAST_DAY(`Date`) = LAST_DAY(CURRENT_DATE()) 
         then `Value` * (DAY(LAST_DAY(CURRENT_DATE())) - DAY(CURRENT_DATE())) / DAY(LAST_DAY(CURRENT_DATE()))
       else 0
    end)