Factorial Approvals System

My Role

Senior Product Designer

Team

Timeline

Q2 to Q4 2022

Overview

New approval system for any resource within the different verticals of Factorial, fully customizable to any company hierarchy.

Context

I worked as solo product designer in this project. We had a lot of feedback from our customers, sales and CX teams about the need for a more flexible and customizable approval system with different levels. We had to address not only the needs of our customers, but also the needs of our product teams, as our team was cross-functional across the core product and building blocks.

pending

Problem

The top 3 reasons for churn and lost deals included the lack of flexibility in the approval system. In addition, a new expense management vertical required a robust approval system to launch.

Our previous solution was ad hoc for each vertical. There was an implementation for time off and another one for time tracking. Both allowed only one approver and one step. The approver was always or the manager or an admin so it was quite limitating.

In the beginning, this was not a problem for our main market: Spain. But as we started to grow in Europe and the US, we realized that this was a big problem for our customers there. They had more complex hierarchies and needed more flexibility.

Oportunity

The impact on the business was huge. We were losing existing and new customers because of this.

From the product side, a lot of resources need to be approved: time off, contracts, timesheets, expenses, etc. So it was a horizontal abstraction that would affect different product teams or verticals. We needed a solution that would build the foundation and work for all of them.

pending

Research

Building an HR tool is difficult because every company has different needs depending on its country, size, industry and culture. We have confirmed this once again by talking to companies that have been churned, companies that are at risk, and others that are happy with the product: each company has its own approval system.

For time off requests, it might just be the manager, but for expenses, it's the manager and then the HR team and then someone from the finance team.

So we found that they needed different approval steps. The approver could be a specific person, a role based on the requester like the manager or the team leader, someone from a team, or an admin.

The requester needed to see the current status of the approval in order to ask the right person if there was a delay.

Key User tasks

As a requester, I want to know who the approver is and the status of the approval so that I can ask the right person if there is a delay.

As an admin, I want to be able to configure the approval steps and approvers so that I can customize the system to meet my company's needs.

As an admin, I would like to reset current approvals so that I can fix the system in case of hierarchy changes.

As an approver, I want to be notified of new approvals so I can approve them in a timely manner.

pending pending

Solution

One of the first decisions was to implement the approval flow independent of existing policies. Why? Because a policy with multiple conditions, such as the number of holidays employees can take, would end up creating a lot of policies to change just one of those conditions.

Second, we were a cross-functional team, but our customers were also other product teams, so we took the most important use case and the one that generated the most churn to validate the solution: time off.

In terms of the product, the abstraction we designed was simple: resource request enters the approval system, we analyze the resource and its metadata, if pass the conditions to enter the approval system, we notify the approvers in the first step, once approved pass to the next step until the last one. If it is rejected at any point, we notify the requester.

Key Features

Approval groups that each vertical can easily implement in their verticals.

Create multiple approval groups for different employees (country, team, specific needs...)

Different approval levels with specific approvers based on requester, team or administrator.

Back up approvers in case the approver is unavailable or on vacation.

Success

All teams with approval requirements implemented the new abstraction, and churn and lost deals dropped by 100% from Hubspot rankings.

Resources approved with more than 1 step accounted for 30% of the total after 2 months.

Resources approved with 1 level but other than Manager or Admin made up 20% of the total.