Reinventing how Deloitte Audit teams collect and format data

Audit teams at Deloitte were spending half of their budgeted time collecting and formatting data. Deloitte asked my team to help them reduce wasted time and automate work. The new solution should not just solve Audit's problems but also the entire org's.

my role
  • Design Lead: UX & Design Direction, Strategy, Architecture.
  • Individual Contributor: UX Research, Design, Prototyping, User Testing.
impact
  • 98% reduction in data collection times
  • 99.7% reduction in data formatting times
  • 52 NPS, 5.2x higher than other internal products
Client

Deloitte

background

The challenge

Deloitte audit teams were spending about 50% of the audit time collecting and formatting data. Our goal was to reimagine the way Deloitte collects and formats data so auditors can focus on doing analysis work.

In the long term, the entire organization will also use the final product. To accomplish this, the new app had to solve real problems relevant to the firm, not just Audit.

My approach was to develop independent solutions for each problem area: Data collection, Data formatting, and Reusability. In doing so, I aimed to ensure that each solution would be helpful to the broader audience.

My role

I was the Design Lead for this project, working closely with three designers, the engineering tech leads, product managers, and stakeholders. These duties included directing design, UX, and research.

As an individual contributor, I worked on User Research, Design, UX, and Prototyping, contributing to the whole Data Formatting app.

approach

Initial research

As I usually do, I kicked off the project with research:

  • User interviews to understand auditors and their context, but also interviewed people from other disciplines to find overlaps.
  • Ran contextual tours to understand the day-to-day of the auditors.
  • Collected the insights into a journey map, which we updated through the project.

What was wrong with Data Collection?

The research revealed three overarching problem areas: Data Collection, Data Formatting, and Automation. Here's a breakdown of the problems I found regarding Data Collection:

  • Not involving all parties in the data collection process often led to misunderstandings in requirements, resulting in massive delays.
  • Second, due to the lack of an established process, clients were delivering datasets through any channel available and using the wildest file formats (Excel, PDF or even Word docs). This behavior generated uncertainty in the validity of the data for auditors, which led to a lack of trust.
the process

The solution: direct connections to data sources

Of the many explorations we tested to solve the problem of receiving wrong or incorrect data, we settled on connecting directly to client databases. While this approach required installing software on client servers, it reduced miscommunications, kept the process secure, and covered most problem areas:

  • It made database browsing accessible to less technical users.
  • Using a “what-you-see-is-what-you-get” made database browsing accessible to all users, bringing the rate of incorrect data requests close to zero.
  • The new approach made data requests repeatable and consistent, which was critical to enable formatting automation.

The data request app became a single source of truth users could trust.

Minimizing delays and setbacks

Human interactions were the root cause of delays. Not involving critical personnel such as Database admins or approvers, miscommunications of data requirements contributed to delays in delivering the required data.

To minimize the impact of human neglect, I ensured that approvers could approve requests at any time, from anywhere. I made this process as easy as possible, including all the information required to approve a request.

Users have all the context they need to approve a data request from their smartphones.

Automating data formatting

Once the data has arrived, the next step is converting it into the desired format to be able to conduct the audit. I designed the Data formatting app with these goals in mind:

  • The formatting app's main goal is to increase efficiency and enable reusability of work.
  • It should be easy to use and accessible to less technical users.
  • It should be future-proof and able to process millions of rows (big data).

The process: small and frequent tests with few users

To build such a complex app, my approach was to iterate as much as possible. So I ran small tests once or twice per week with 4–5 users. During tests, I asked users to think out loud so I could know what they were thinking, despite contaminating task completion times.

Dozens of design explorations

I experimented with diverse explorations early on, settling in on the design that performed the best during tests.

The final Data Formatting app

After testing the initial ideas, I selected the final layout based on test performance. I wanted the UI to feel familiar enough that users could get an idea of how it works at a glance, but not so familiar that they would fall into their default behaviors. See the final design below:

Helping users see data as a whole, not single cells

Imagine you had to change a million date entries from this pattern: "12302022 16:12:44" to "12/30/2022". Rather than changing entries one at a time, you want to identify the underlying pattern and change it to the desired format. When faced with this test task, about half of the tester's first instinct was to edit individual cells. I wanted users to stir away from this behavior, so I did a few things.

I disabled single cell selection entirely and turned the click-to-select interaction into column selection.

I emphasized rows over individual cells by styling rows using a zebra pattern.

Adding data distribution diagrams to column headers was the most impactful change. Users loved using the graph and statistic charts to find inconsistencies in the data.

Making the app accessible to less technical users

During early tests, users seemed afraid of trying things in the app and using the UI. To help them feel comfortable using the app, I pushed several initiatives.

To create the array of tools, I looked at apps that users were already familiar with. The common denominator was the MS Office Ribbon, so I decided to style the toolbar using this pattern. The idea was to help new users feel comfortable and reduce the feeling of overwhelm when confronting such a complex app for the first time.

Some testers still struggled finding some of the tools. So I included a search option that parsed through tool descriptions and offered quick access to documentation.

While tools were active, users had to decide on the formatting operation they would make but hesitated to commit. When prompted, users mentioned that they didn't know what the result would look like. To address this, I created formatting previews, which helped users understand the consequences of their actions.

Despite all the efforts to make the toolbar attractive to users, most testers preferred using tools directly from the column headers. So instead of correcting the behavior, I decided to lean into it and increase the number of quick-launch options in the dialog.

With great power comes... slower execution?

As we were refining the app, our early testers started complaining about long loading times (8+ seconds to load even a small dataset), which seemed excessive compared to Excel.

After examining the problem and talking to engineers, I learned that this "slow" performance was expected with the tech we were using. But, unfortunately, engineers couldn't reduce loading times any further.

How I created “busy” time to make up for the wait

As an initial "fix, " I replaced the default spinner with a progress bar, giving users a better sense of progress while waiting.

Then I timed the loading times of 50 data samples to understand how fast data loaded overall. Then, I used the insights to test different timing distributions and found that users perceived loading times as shorter when the first 90% of the load went faster, slowing down at the end.

See the best-performing timings below.

To add some delight while users waited, I included randomized messages, and inserted Audit and Accounting puns amidst the messages.

Auditors loved the randomized puns found in-between loading messages.

What happened? Complaints stopped and auditors loved it!

Rolling out the updated loading experience not only stopped complaints but also resulted in a massive increase in sign-up requests. It turns out auditors were showing the new loading experience to their peers, who loved it and wanted to try the app themselves!

Making data formatting repeatable

I designed the steps to feel like a "recipe": a sequence of repeatable actions to get the data into the proper format. The idea was to save every tool used as a "step", allowing you to re-do the formatting with the press of a button. This is also why we called it the "Recipe".

While designing the Steps, I wanted users to understand how the data changed quickly. So I used natural language to describe each step.

Additionally, saving each tool as a step in the sequence freed users from the fear of breaking their perfectly formatted dataset and encouraged experimentation.

Finding a better way to explain data connections

During tests, I noticed that 40 to 60% of testers struggled to understand how the Data sidebar worked consistently. I tried to solve the problem by iterating on the labeling, information architecture, and UI, but the problem persisted.

A Flow map to show the relationships between the data

I approached the problem from two angles. First, I got rid of the Data sidebar. Then, I designed a UI layer on top, the Data Flows, to give users a clear picture of how the data was being processed. Users found this representation of the data connections to be self-explanatory.

The Data Flows just made sense

By replacing the old sidebar with the new Data Flows, the overall experience  improved on many levels:

  • According to 70% of the testers, the new Data flows were easy to understand, accurately depicting the data relationships.
  • Removing the sidebar gave users room to focus on a single dataset simultaneously, reducing the cognitive load.
  • Removing the Data sidebar reduced the user's ability to trigger loading events, which improved perceived performance overall.

Not only did Data Flows allow users to reuse the recipe of steps over and over, but they also made automated formatting features more evident to users.

At the same time, Data Flows enabled the app to scale exponentially by affording the option to add new tools and integrations. And it was able to achieve this without cluttering the UI.

business impact

The Outcomes

Overall, Audit and other teams at Deloitte received the app very positively. As a result, we reduced the time spent collecting and formatting data so much that the app earned Deloitte 2 Audit of the Year Awards in 2018 and 2020, respectively.

98%

Reduction in data collection times

On average, data collection times reduced dramatically, only limited by how long it takes to approve and transfer the data.

99.7%

Reduction in time spent formatting data

After the upfront time investment in cleaning up the data, the formatting process can be repeated in minutes.

52NPS

5 times higher than other internal products

Internal products struggled with adoption in the past, and audit teams fall back to their default stack.

We received two awards for our work

award

Deloitte wins '2018 Audit Innovation of the Year' at The Digital Accountancy Forum & Awards

Read about it in Forbes
award

Deloitte wins '2020 Audit Innovation of the Year' at The Digital Accountancy Forum & Awards

Read more about it
THANKS FOR READING!

Want to see more work?

Check out this case study!

Building StartupJS: a design system to support any possible product

View Case Study