Case 5
'Needs Analysis Report Tapped
'***************Capital Needs Evaluations**************
If Profile="Retirement" Then
Dim SaveInitValue(11) As Int
Dim AnalysisLoopIndex As Short
Dim InsSet As Short
Dim TryAmount As Int 'Automated Insurance Analysis amount
If Proj(431,Span)<0 Then
'******Retirement Postponement **********
SaveInitValue(1)=InputValue(3)
SaveInitValue(2)=InputValue(4)
For AnalysisLoopIndex=1 To 25
If InputValue(3)>0 Then InputValue(3)=InputValue(3)+1
If InputValue(4)>0 Then InputValue(4)=InputValue(4)+1
SaveInitValue(0)=AnalysisLoopIndex 'Years of postponement
ComputeTax
If Proj(431,Span)>=0 Then AnalysisLoopIndex=25 'Exit when turns positive
Next
InputValue(3)=SaveInitValue(1)
InputValue(4)=SaveInitValue(2)
ComputeTax
'******Increasing Earnings evaluation(Business Income)*******************
SaveInitValue(3)=InputValue(185) 'Save for restoring
AddAmount=0:ReduceAmount=0
'Pmt=FV*r/(((1+r)^n)-1)
TryAmount=Abs(Proj(431,Span))*CashMgmtRate/(Power(1+CashMgmtRate,Span)-1)
InputValue(185)=SaveInitValue(3)+TryAmount
ComputeTax
'Dim n As Long = DateTime.Now
For AnalysisLoopIndex=1 To 25
If Proj(431,Span)>=0 Then
If Proj(431,Span)<10000 Then
AnalysisLoopIndex=25
Else
ReduceAmount=ReduceAmount/4
If ReduceAmount=0 Then ReduceAmount=(Abs(Proj(431,Span))+5000)*CashMgmtRate/(Power(1+CashMgmtRate,Span)-1)
TryAmount=TryAmount-ReduceAmount
InputValue(185)=SaveInitValue(3)+TryAmount
End If
Else
AddAmount=Abs(Proj(431,Span))*CashMgmtRate/(Power(1+CashMgmtRate,Span)-1) 'Set initial AddAmount to PV of final shortage plus 10%
TryAmount=TryAmount+AddAmount
InputValue(185)=SaveInitValue(3)+TryAmount
End If
ComputeTax
Next
SaveInitValue(4)=f.PositiveOnly(InputValue(185)-SaveInitValue(3))
InputValue(185)=SaveInitValue(3)
ComputeTax
'******Reduce Expense *******************
SaveInitValue(5)=InputValue(331)
'Pmt=FV*r/(((1+r)^n)-1)
TryAmount=(Abs(Proj(431,Span))*CashMgmtRate/(Power(1+CashMgmtRate,Span)-1))/2
InputValue(331)=SaveInitValue(5)-TryAmount 'PV of shortage
ComputeTax
For AnalysisLoopIndex=1 To 25
If Proj(431,Span)>=0 Then
If Proj(431,Span)<10000 Then
AnalysisLoopIndex=25
Else
AddAmount=((Abs(Proj(431,Span))+5000)*CashMgmtRate/(Power(1+CashMgmtRate,Span)-1))/4
TryAmount=TryAmount-AddAmount
InputValue(331)=SaveInitValue(5)-TryAmount
End If
Else
AddAmount=(Abs(Proj(431,Span))*CashMgmtRate/(Power(1+CashMgmtRate,Span)-1))/4 'Set initial AddAmount to PV of final shortage plus 10%
If AddAmount<25 Then AddAmount=25
TryAmount=TryAmount+AddAmount
InputValue(331)=SaveInitValue(5)-TryAmount
End If
ComputeTax
Next
SaveInitValue(6)=Abs(InputValue(331)-SaveInitValue(5))
If SaveInitValue(6)>Proj(468,1) Then SaveInitValue(6)=0 'Not enough expenses to be able to save to cover the deficit
InputValue(331)=SaveInitValue(5)
ComputeTax
End If
End If
'*************End Needs evaluations***********