laney0808 / pe

0 stars 0 forks source link

Undocumented behavior in analytics #10

Open laney0808 opened 2 months ago

laney0808 commented 2 months ago

When the return date of an active loan is overdue, the respestive person's analytics will show "no loan overdue". While this situation can be deduced with the calculation mechanism, this information can be very misleading to the user as clients with overdue loans should have the most urgency. Therefore, this should be highlighted in the User Guide.

soc-pe-bot commented 2 months ago

Team's Response

Same bug as #1425

The 'Original' Bug

[The team marked this bug as a duplicate of the following bug]

Urgency graph message does not match UG's description

Details:

image.png

  • Currently, there are only 2 unmarked loans attached to 1 person in the LoanGuard Pro.

image.png

  • From the analytics of the urgency graph, the user is led to believe that there are no due loans.
  • However, both loans in the app are in fact overdue.
  • As such, this might mislead users on overdue loans, creating potential risks for loaner.

Suggestion:

  • Perhaps the display message for the urgency graph could be clearer and match the current situation better.

[original: nus-cs2103-AY2324S2/pe-interim#1806] [original labels: type.FunctionalityBug severity.Medium]

Their Response to the 'Original' Bug

[This is the team's response to the above 'original' bug]

We have changed the severity from medium to low, and type from functionality to feature flaw for the following reason:

The behaviour of the application is correct and matches the UG description.

This is how urgency is calculated from the user guide (note the last line):

image.png

So indeed, overdue loans are not used for urgency calculation. By "due" in the image, we were referring to an upcoming loan, not an overdue loan (which is why we did not use "overdue"). However, we acknowledge that this could have been made clearer in the display message to avoid misinterpretation, by saying "no upcoming loans to analyze". Thus, it falls into the feature flaw category.

For the reason why we do not consider overdue loans in our calculation of the Urgency index, this is because that would heavily skew the URGENCY_ALL parameter, since overdue loans would be infinitely more urgent than due (i.e. upcoming) loans. As such, a client with a loan that was due, say, the next day might show very low urgency due to the skewing by overdue loans, which is not the behaviour we want from the app as a moneylender would want to monitor these clients - after all, their loans are about to expire and it is vital to remind them before they incur the overdue penalty. For checking if a user has a high number of overdue loans, we already have an index for that - the Reliability index! Hence, it is always possible to tell the proportion of overdue loans of the user, and so it is not necessary for the Urgency index to do this job as well.

image.png

This is a duplicate of issue 4043

As for severity, this causes a minor inconvenience only to the user as the user guide clearly tells the user how the urgency index is calculated. As such, the only way for a user to be misled by the choice of wording of "due" loans would be if they did not read the user guide, which is an extremely unlikely scenario as the user would probably not be able to discover the analytics command without reading the user guide. Thus, we are marking it as Severity.Low (not VeryLow as even though it is a wording/English issue, we do understand that the choice of words could affect understanding of the app). We hope that our decision makes sense, thank you!

Items for the Tester to Verify

:question: Issue duplicate status

Team chose to mark this issue as a duplicate of another issue (as explained in the Team's response above)

Reason for disagreement: [replace this with your explanation]


## :question: Issue type Team chose [`type.FeatureFlaw`] Originally [`type.DocumentationBug`] - [ ] I disagree **Reason for disagreement:** [replace this with your explanation]
## :question: Issue severity Team chose [`severity.Low`] Originally [`severity.Medium`] - [ ] I disagree **Reason for disagreement:** [replace this with your explanation]