Here at Sales Cookie, we automate sales commission calculations – from user enrollment and plan design to payout. Once your incentive plans have been configured (we also do this for you free of charge), all you need to do is start a commission calculation. Results are always ready within seconds. This makes it easy to make adjustments and re-calculate commissions – without any hesitation – because your time waiting for results is always short. Ultimately, commission calculation speed is what provides you with the agility you need to ensure your reps are paid on time.

How Long Should Commission Calculations Take?

When talking to a technology provider responsible for deploying competing SPM solutions, we were shocked to learn that their commission calculations often took a long time – consistently hours, sometimes in excess of 12 hours. We believe this is wrong and indicative of implementation issues. When you submit a query to Google, it searches across billions of documents, and only returns the most relevant ones. Yet, results are available instantly thanks to proper use of computer science fundamentals such as inverted indexes or parallel processing. So why should sales commission calculations take hours? Even the most complex commission calculations don’t require that much processing power. Something clearly doesn’t make sense.

Sales Cookie uses parallel computing to calculate commissions. Our first step is to identify a set of eligible sales transactions, which is typically based on the calculation’s time period, as well as other filtering criteria (ex: only process transactions marked as paid). As each row of data is retrieved, we start a new thread (a thread is similar to an independent process / program). Each thread independently calculates the transaction’s value, and credits users or teams. If you look at a detailed Sales Cookie calculation log, you will see clear indications of parallel processing – each line is tagged with a thread ID. In most cases, calculations take less than 3 seconds, even when tens of thousands of rows are involved. From an engineering perspective, this is what should be expected. The only thing which is preventing us from returning calculation results within milliseconds (versus seconds) is our self-imposed requirement to commit every action to a detailed Microsoft Azure table log.

What Are The Stages of the Calculation?

All commission calculations go through distinct stages. Some of those stages can be performed in parallel using a pipeline-like approach:

  • In the selection stage, we identify eligible transactions based on a sales commission calculation’s time period and filtering criteria.
  • In the valuation stage, we compute each transaction’s value – this can be revenue, profit, or a score (we may also perform catalog look-ups).
  • In the crediting stage, we assign crediting value to matching users and teams (we may also split credits between users and perform territory roll-ups).
  • In the attainment stage, we determine attainment per user or team, and determine the set of rewards which need to be activated.
  • In the reward stage, we calculate each reward’s value, determine assignment to beneficiaries, and execute the assignment.

The following diagram describes some of those stages involved in each calculation:


Once the calculation has completed, its results are only available to administrators. To make results visible to reps, you must either release credits, or release rewards. Releasing credits ensures crediting becomes visible on each rep’s personal incentive dashboard. This helps sales reps verify they were credited correctly for different deals. Releasing rewards ensures rewards also become visible on each rep’s personal incentive dashboard. Now your reps can see what they’ve earned in terms of sales commissions.

The following diagram describes our 3 sales commission release stages:


Automating Calculations

Sales Cookies works hand-in-hand with various CRM and financial systems. Here are just a few of the systems we support in terms of calculating sales commissions:

  • QuickBooks Online
  • Dynamics CRM
  • SalesForce
  • HubSpot
  • Etc.

Here is how you can add a connection within Sales Cookie:


When you add a connection to one of those systems within Sales Cookie, we not only automatically pull new records, but also detect and propagate changes. For this reason, it can make sense to also automate commission calculations as new sales transaction data becomes available.

To do this, Sales Cookie lets you configure automation. Our goal was to make it easy to run automated calculations, so you won’t find any complex schedule or configuration. Here is all you need to configure:


Using the first option, you can request a daily re-run. The second option lets you replace the previous commission calculation by its more recent re-run. Finally, the third option lets you auto-release credits so that your reps can see credits on their personal incentive dashboard. Here is an example of a situation where we enabled automated re-run while also allowing credits auto-release:


In Conclusion

Sales Cookie ensures fast commission calculations using parallel processing. Using different stages, we can leverage a pipeline-type approach to calculate sales transactions. Most calculations complete within seconds (not hours). This increases your agility in terms of making changes to incentive models or sales transaction data. In addition, all you need to to do to enable daily auto-recalculation is check a checkbox. Visit us online to learn how you can easily automate your sales commission program!