How Does The Crediting Engine Work?

How Does The Crediting Engine Work?


The crediting engine processes transactions to credit users or teams - so as to measure sales performance.

For each plan, you can choose whether you want to measure sales performance by individual or by team. If you measure performance by individual, then transactions must be credited to users. If you measure performance by team, then transactions must be credited to teams / territories.

The crediting engine uses aliases (set on teams and users) to credit transactions to them. The crediting engine searches for aliases within transaction fields which were mapped to the "Owner / Sold By" or "Team or Territory" categories.

There are some situations where crediting may run into issues. For example:
  • A transaction cannot be credited to any plan target user / team
  • A transaction can only be credited to multiple users / teams (ex: due to duplicate aliases)

If a transaction cannot be credited, you can configure whether to be alerted via a system alert. There may be situations where it is expected for transactions not to be creditable, so system alerts are optional. Regardless, detailed calculation logs always include a warning. You can also apply a saved query to your plan, so that only relevant transactions are processed for each plan.

It may also be possible to credit users or teams indirectly. For example, suppose that you want to measure performance by individuals. Therefore, transactions should be credited to users. If no user alias matches a transaction, the transaction could nevertheless also include a territory name. in which case, you could choose to lookup the corresponding team, and then credit its member users. You can learn more about indirect crediting here and here.

The crediting engine is flexible. First, you can choose whether to credit based on individual performance, or based on team performance. Second, by allowing you to define any number of aliases on users and teams, you can match user names, user email addresses, user IDs, team names, territory names, team IDs, etc. For teams, you can also choose whether to roll up crediting to parent teams or not. Finally, you can even use dynamic crediting formulas.

Once crediting has completed its calculation, it's possible to determine rewards. Rewards may be assigned to credited users / team members. Or you may choose a different strategy (ex: assigning reward to user managers, team managers, etc.).