As our machine learning improved over time, we became increasingly able to provide better and richer insights for our customers.
To make it easier for customers to slice and dice not only the data that they enter into their CRM manually but also any enriched information that we provide, we set out to create an experience that would let our users customize how we calculate their data.
There's a four-year history to this project, but feel free to skip ahead to the actual Insights Builder project.
This filtering was always limited to activity data against Users, Opportunities, Accounts, and Campaigns.
The Analytics module gave users the ability to set filters against activity data and create saved views, but the filters were designed to be absolute, meaning users would have to create multiple copies of the same set of filters for different teams.
In late 2019, we began to strategize about the future of our product:
I started out mapping out the concept and the flow: we wanted users to be able to create a library of rules that could be used to trigger notifications and that could be added to "playbooks".
For the rules part of the project, our product manager, sales operations manager, and I worked together to determine what sets of criteria our customers would commonly want to create and what sort of logic we would need to accommodate.
For this iteration, we created a workflow where users start either from scratch or with "recipes" (aka templates), set their criteria, define a trigger, and optionally customize a notification.
For setting the rule's criteria, we focused on improving upon our existing filtering experience by making the logic more explicit and by providing a preview of what this set of filters would return across the customer's CRM.
Once the rest of the Sales Solution had shipped, it became extremely apparent that we had a scalability issue: when customers wanted to build set of leading indicators, our engineering team had to do the configuration, which began to impact the development of new features.
I started out sketching out an overall flow for the Indicator Configurator based on a worksheet that our engineering team had created for our Customer Success team to facilitate the creation of leading indicators.
Working with the product manager, I also looked for ways to make the experience more navigable. We explored template libraries similar to the previous recipes concept, and, due to internal feedback, focused more on creating a query builder.
As we began to work on Engagement Dashboards, we realized that we needed to prioritize the data customization experience.
We included the process of creating a metric as part of the overall vision for Engagement Dashboards from the onset to ensure that this was prioritized alongside the consumption side of the project.
I worked on various iterations for the data preview, each based on feedback from different personas. Different people wanted different levels of data granularity, and we needed to strike a happy medium.
The Insights Builder was designed to provide enough functionality for advanced users while being simple enough for users with less-demanding needs.
For more advanced users, we wanted to give them the most amount of flexibility, including the ability to create formula metrics and the ability to define "coachable moments" to help their team understand how the metric is intended to be interpreted.