Showcase your achievements in the Maveryx Community by submitting a Success Story now!
SUBMISSION INSTRUCTIONSCaisse D’Epargne is a more than 200-year-old French bank. Initially, Caisse D’Epargne was only allowed to offer saving accounts, and quite recently (in 1978), we started offering checking account to our customers. The bank started with 200 Caisse D’Epargnes, I mean 200 different companies under the same brand name, and now we belong to a network of 15 individual Caisse D’Epargne with their subsidiaries after many merges during the last 40 years. About 3 years ago, our local bank (Hauts de France) merged with another Caisse D’Epargne embracing everything you can imagine in a merge such as changing the process, reorganizing the company, having new data software (Alteryx and Tableau) and a new individual incentive plan for sales built from scratch. Using Alteryx, the data and reporting team was able to pull data from multiple sources and create a successful incentive plan for each employee.
Before the merge, we were using a collective incentive plan which was quite simple. We had a lot of different indicators, coming from different data sources, such as our databases (Oracle) and specific files. The board decided they wanted an individual incentive plan based on the job of the employee. It seems legitimate, but hard to manage: how can you establish same incentives for a regular bank advisor and for a private banker specialized in complex operations? It was not possible to do so! We have more than 35 different jobs, with more than 90 different indicators, and we are not even talking about the data sources yet!
The first year, we worked hard to have something up and running, but it was challenging to update changes as they happen. For instance, if an employee had done a good job but lost one customer who would allow him to get his incentive, we needed to correct this between the production system and the decision-making system. We had one year of troubles, using new tables (or tables we never used before), we eventually created the plan, but it was the hard way!
2019 was the year of the phoenix or our reborn! We decided to rebuild the incentive system from scratch, making it better, more durable, more efficient, and most of all, easier to manipulate in case we have any wrong data somewhere.
We built an employee incentive plan around a few principles:
The main goal was to be able to have both a performing tool (running every day), with rapid response, and be able to drill and easy to maintain!
To follow all the principles, we had to do a little bit of data modeling and imagine multiple possible scenarios such as:
So we used a very innovative tool: the white board! And we wrote the possibilities and made a scheme about how the data have to be implemented.
To split or not to split, that is the question
One huge problem we had was having multiple huge workflows which were running for 2 hours at least and so complicated that we couldn’t optimize it. It was so sensitive because changing one thing could result in a massive change in the output. To avoid this, we splitted into multiples workflows that took at most 5 minutes to run and are very precise. We also wanted anyone in the company to understand each workflow, so we try not to do things in one huge formula tool with everything, we split everything we can! We have those workflows running in the following order:
We have those workflows category, the extraction and preparation workflows contains one workflow each per source. For instance, in the extraction, we have one source (one query), so one workflow and for the rest there is only one workflow per part.
In the end, all these workflows run on a daily basis, they don’t take so much time to run and are quite safe. We have a lot of checks and balances, most of them are quite simple, checking the number of employees, or making sure we have more data in today’s file than in yesterday’s file and many other like one simple control, making sure we have the same total between the detailed and aggregated version.
Our solution does not use fancy tools or very advanced things, the complication is more about the imbrication and the smoothness of the process, going from many files, many different sources to two files and everything must be as stable as possible. The hardest part consisted in being able to create a data model which answered all the constraints we had. A lot of the hard work was more about imagining the different possible cases and how to fix them, how to make sure that everything is clean, because when you realize there are so many possible cases, one which may seem dumb could generated a specific trouble for us:
Example : What we had in the HR database
Person |
Place |
Job |
Start date |
End date |
A |
Lille |
Banker |
2019-01-01 |
2019-01-31 |
A |
London |
Banker |
2019-02-01 |
2019-02-15 |
A |
Lille |
Banker |
2019-02-16 |
2019-12-31 |
And what we obtained at first
Person |
Place |
Job |
Start date |
End date |
A |
Lille |
Banker |
2019-01-01 |
2019-12-31 |
A |
London |
Banker |
2019-02-01 |
2019-02-15 |
Whereas we wanted to keep the data the way it was in this case, so we had to calculate a “job order” to make sure we didn’t summarize things which didn’t need to be. We discovered many very little things which were totally changing the data and implying very different numbers for the employees.
In the end, we have everything clear, and when we are notified of an error, numbers that are different between the detailed and aggregated version, we directly know where to look, if it’s a problem linked to an extraction, or if it’s more in the HR part. We built multiple workflows that can answer different needs quickly. The most important and efficient thing we established with this project is a weekly meeting with the animation team and sometimes the HR. If we see that they don’t understand something, or we diagnosed an error and are working on it already we can all work together. It allows them to have a better understanding to communicate with more precision!
Splitting is not about splitting one workflow into multiple small parts, it’s more about flexibility, being able to use an yxdb file fast, and be able to handle every needed control. When a sales person forgets to register a sale, we can add it without having too much trouble, when the board wants to create a new job and set goals, we can do this too with ease, everything gets easier, we only have to duplicate one workflow or a part of the workflow to have it up and running!
After doing all this, if you ask me what I think about the incentive. Hum, hard question indeed, first if you have an incentive system, there are 2 important things keep it simple and either do an important incentive or don’t. To explain, when I say keep it simple and if you want people to be involved into the game, don’t make the rules so hard to understand. The employees won’t be able to know how to make any changes and they are impacted by the system. Moreover, I would say that it is important to have something noticeable for all the coworkers, so keep an eye on the remuneration subject!
Finally, if you ask me the difference between individual and collective, I would say that it depends on a lot of things, both have pros and cons. On the individual side, you can say that a top-performing person might be more motivated. If you consider the collective aspect, it can create synergies by allowing one person to be more specialized, and value the group work, but sometimes if you have bad elements in your team, it can be a pain for the best ones.
In fact, the best system is more about having a collective part and an individual part, so that the good performers can feel better than the others but the team will still be motivated! Finally, it all depends on your company, how it works, what you do (or sell).
This is a great use case and the approach and structure of the solution are very logical and well explained.
Well done, very instructive and useful use case, thanks for sharing !!
Hi guys, I like this workflow, you can share with us