Handler - Average
A handler, which calculates the average of values, which are sent to the attribute via Web API.
AverageHandler handler is used in Decimal number attributes.
An attribute which has the handler, cannot be edited via user interface. AverageHandler automatically also creates a helper attribute, so called Count-attribute, that keeps track of total number of value changes. This attribute's configuration shouldn't be manually edited and this attribute cannot be edited in the user interface either. The permissions of these two attributes are kept consistent automatically. If permissions are not consistent, values of current average and count may not be updated correctly causing data corruption.
When new value is incoming to AverageHandler, it calculates its own value and increments the count attribute value.
Count attribute stores amount of all values. It's code is automatically created and it shouldn't usually be changed manually. If code of the average attribute is changed, you must update the matching count-attribute's code with a proper code plus suffix.
Typically, handler is used for counting rate of Knowledge Base articles. Ratings are sent via WebApi from an external system.
If incoming import contains value for average attribute only, the new value for average is calculated according to current value and count attribute's value. If incoming import contains value for average and count attribute, this is handled as "full data card import" and both values are updated as the given values. If incoming import contains data for count-attribute only, this is handled as a failure and the incoming value is ignored.
Average value could be presented as Progressbar by setting relevant meta data. You can read more about this here.