Material Flow App: Highlight to user when there are material balance issues
under review
Michael Bishop
Part of data analysis is knowing when the data cannot be trusted. At times, wrong information can be worse than no information. Please add to the material flow app features which make the user aware of material balance issues.
Modifications to Ledger Accounts
All of these new account attributes would be configured in the model explorer.
Add an attribute to ledger accounts to enable or disable this requested 'Material Balance Error' feature. There will be likely be cases where this feature doesn't have meaning. Since those are most likely edge cases, make the default value be enabled when you create a new ledger account.
Add additional attributes to define when an account should have a material balance status of warning and alarm. Making them attributes on the account allows for it to configured based on the specifics of the process affecting the account. The units of the attributes should be percent and I suggested default values of 10% for warning status and 25% for the alarm status.
To avoid costs which do not drive action, add an attribute that sets a limit where the material balance error will not be calculated. The target would be account which do not empty as part of the normal process and are occasionally referred to as pass-through accounts. The concern is the calculation could use quite a few CPU cycles due to the duration and could also time out. There are multiple options for this attribute. It could look at the duration of the account period or the number of transactions (deposits and withdrawals). If the account period exceeds, then don't do the calculation. The specifics of this attribute and the default when creating a new ledger account should be defined by ThinkIQ after exploring how it performs against customer data.
Finally add a non-editable status to the account called 'Material Balance status'. This will be used to drive the visual on the Material Flow Application. It's important this status can be tracked for historical account periods. I'm not sure if this should be called an attribute or property.
Base Knowledge
As grounding, when I use the term 'ledger account period', I means the specific period within an account history starting where the account is no longer considered empty and ending when is back to being considered empty. The influence ratio attribute is a key driver on if the account is considered empty.
Calculation of Material Balance Error
The calculation needs to occur for each ledger account period. The value should be stored if that reduces server costs. The calculation can be built as one function, yet all accounts periods will essentially fall into three groups. The largest will be the historical accounts. Current periods where the account reflects current state and finally the long running account periods for those which rarely go empty.
First the logic needs to confirm the period hasn't triggered the 'Do Not Perform' status based on the account attribute of Max Duration or Max number of transactions. This was described previously. There will be a visual change on the Material Flow App for this status and it is described later in this request.
In all other cases, the calculation needs to be a percent error based on the withdrawals from the account. For historical account periods, we would sum the amounts of all withdrawals and subtract the sum of all the amounts of deposits. This is the quantity error expressed in the same units of the account. We would take this quantity error and divide by the sum of the amounts withdrawals and convert to a percentage. This value is the Material Balance Error. It will be used to set the account periods Material Balance status based on the account attributes defined earlier.
For current account periods, we would do the same steps for getting the quantity error yet we should ignore any transaction in-progress. Assumption here is the current account balance is not impacted by transactions in progress. We would then subtract the quantity currently in the account to get an accurate Material Balance Error. We would do the aame steps to obtain the Material Balance Error expressed as a percent.
Finally, the logic would update the Material Balance Status by comparing the Material Balance Error to the warning and alarm attributes on the account. Status values could be "Disabled", "Account Period Too Large", "Acceptable", "Warning" and "Alarm"
Visual for end user of the Material Flow App
Based on these Material Balance Status for the account period, provide a visual on the historical bar of the account ledger and the main part of the diagram. Historical bar - Color the ledger vertical bars with the following recommended colors: Disabled (#808080), Account Period Too Large (), Acceptable (#3f6990), Warning (#FFC000) and Alarm (#E3242B). Please see the attached mock-up for ideas.
The goal here is to make the user aware of data issues, for them to understand criticality and lead them to the action needed to improve the accuracy. There is a real opportunity to have knowledge base articles on how to troubleshoot the potential causes of error.
Thank you!
Patricia Lawson
under review
Michael Bishop
Alarm could also have a popup to make it obvious to the user that the data cannot be trusted. Opportunity to push people to the knowledge base with specific actions. This dialog box should have a "Do not display for this session" which disables the alarm dialog box from opening when they switch to different account periods. If they navigate away from the account and return, the dialog should appear during alarm status again.