This article is Part 3 of a 3 part series. For the previous articles, use the links below.
Part 1
Part 2
Now that we've gone over the basics and the steps to create and use Variables, let's go over some recommended practices when it comes to using Variables.
Recommendations and Best Practices
#1: Use Variables!
This may seem self-serving, but when your compensation plans use any of the four types of elements that have a corresponding Variable (once again, those are Territories, Fixed Values, Rate Tables, and Lookup Tables), it's strongly recommended that you use a Variable. This is because Variables are much easier to scale.
Let's look at another example from our Bikes in Motion case. Remember our three Sales Reps in the US: Terry, Joyce, and Gene? Let's say that right now, each of them gets a nice year-end bonus of US$5000 if they meet their sales goals. At first glance, it seems like we could just create a Fixed Value containing the amount of the bonus and use that in the plan. That would work just fine for now, but what if next year we decided that each one has a different bonus? Now, that plan won't work any more. We would need to use a Variable instead. It may not seem like a big problem to change this, and if you only had three Sales Reps, it would be pretty easy. But if you had 3000 Sales Reps, or 30,000, it's not going to be so simple. Not only would you have to change the plan, but you'd have to change the entire data integration process!
#2: Always set a default value
Every Variable has a default field, in which you can select a compensation element that is assigned in the event the Variable isn't assigned on the Plan, Title, or Position level. If you don't assign a Variable on any of the four levels, when you run the calculation several things may happen: you may get no results, you may get incorrect results, you may get an error, or some combination.
You may be wondering what to do if your plan has no true default value. For example, in the case of our three US Sales Reps, none of the Territories should be used as a default. In these situations, the recommendation is to create an object with a null value that can be used as a default.
- For a Territory, use the Boolean "FALSE" for the expression.
- For a Fixed Value, enter the value 0 with the same unit type as the Variable.
- For a Rate Table, enter the value 0% for the high and low tiers.
In each of these cases, if the calculation returns the default, instead of returning an error it will return a null value, which can then be resolved.
#3: Watch your Variable types!
When creating a Variable, watch your Variable Types! It's easy to miss, because the Variable Type is in the dialog box that prompts for the Effective Dates, but be sure to pick the right type for the object it will be assigned to. If you choose the wrong type, you won't be able to change it later; the only way to fix it is to delete the Variable and create a new one.
#4: Finally, watch your Variable Settings.
When you're assigning Variables to their respective Compensation Elements, there are a few things that might cause the element to not appear in the assignment list. This can be very frustrating, so here are a few things to watch out for. Each of these needs to line up in order to be able assign the Variable.
- Business Unit
- Effective Dates (they don't have to match, but they do need to be valid for the period)
- Unit Type: Important for Fixed Value Variables, Rate Table Variables, and Lookup Table Variables. For example, if a Fixed Value has a Unit Type of Currency, the Variable should also have a Unit Type of Currency
- Period: Important in Fixed Values, which can be periodic. The period can be blank or reference a calendar period, but they need to match.
Conclusion
As I mentioned at the beginning, Variables seem a bit confusing at first, but just remember that a Variable is a placeholder for compensation elements in a plan. They are easy to use, very flexible, and can do a lot to help you create scalable compensation plans.