Skip to content
Snippets Groups Projects
  • shall0pass's avatar
    0bcf6ea6
    Change method of calculating 'by' matches to use averaging (#879) · 0bcf6ea6
    shall0pass authored
    I've changed the method of calculating the budgeted amount. There may be
    a more efficient way of writing the loop, so I'm looking forward to the
    review.
    
    This change implements the mathematics of
    (Target1+Target2+TargetN-Last_months_category_balance) / (MonthsRemaing1
    + MonthsRemaining2 + MonthsRemaingN) * N. This is an averaged approach
    for multiple templates in the same category. It will appear to
    overbudget or underbudget some months compared to multiple single
    targets in different categories, yet there should always be enough saved
    in the category to satisfy the target due.
    
    Setting a target, it's assumed that money will be spent in the
    appropriate month, When a target reaches maturity, the money in the
    category associated with that target should be spent or moved so the
    remaining targets continue to be funded. I don't see an easy way of
    fixing that, but I hope this change will be of some help.
    
    Current method:
    Notice how the Bills (flexible) category reduces each month, resulting
    in larger budgeted amounts later in the goal cycle.
    
    
    ![Templates-now](https://user-images.githubusercontent.com/20625555/230964939-d20ca72b-1055-471a-9044-7cd640f19875.gif)
    
    Proposed method:
    **Note: The fact that the initial fill in this example equals the
    expected fill is a coincidence based on the template values I chose. The
    initial fills can be different from expected fill.
    
    
    ![Templates-proposed](https://user-images.githubusercontent.com/20625555/230965265-669f996c-3112-437b-ab83-9715ea5dfc7f.gif)
    0bcf6ea6
    History
    Change method of calculating 'by' matches to use averaging (#879)
    shall0pass authored
    I've changed the method of calculating the budgeted amount. There may be
    a more efficient way of writing the loop, so I'm looking forward to the
    review.
    
    This change implements the mathematics of
    (Target1+Target2+TargetN-Last_months_category_balance) / (MonthsRemaing1
    + MonthsRemaining2 + MonthsRemaingN) * N. This is an averaged approach
    for multiple templates in the same category. It will appear to
    overbudget or underbudget some months compared to multiple single
    targets in different categories, yet there should always be enough saved
    in the category to satisfy the target due.
    
    Setting a target, it's assumed that money will be spent in the
    appropriate month, When a target reaches maturity, the money in the
    category associated with that target should be spent or moved so the
    remaining targets continue to be funded. I don't see an easy way of
    fixing that, but I hope this change will be of some help.
    
    Current method:
    Notice how the Bills (flexible) category reduces each month, resulting
    in larger budgeted amounts later in the goal cycle.
    
    
    ![Templates-now](https://user-images.githubusercontent.com/20625555/230964939-d20ca72b-1055-471a-9044-7cd640f19875.gif)
    
    Proposed method:
    **Note: The fact that the initial fill in this example equals the
    expected fill is a coincidence based on the template values I chose. The
    initial fills can be different from expected fill.
    
    
    ![Templates-proposed](https://user-images.githubusercontent.com/20625555/230965265-669f996c-3112-437b-ab83-9715ea5dfc7f.gif)