Case study · GEICO Enterprise Risk Management · 2024 to present
From manual pulls to one risk story.
How I took risk and control reporting from weekly manual data pulls to automated hourly refreshes, then used the time that freed up to build data quality checks, a shared semantic model, Copilot data agents, and now the Risk & Control Hub. Each stage made the next one possible.
Principal Finance Data Analyst, Enterprise Risk Management · GEICO
- Issue Management reporting
- 2 days to hourly
- Refresh cadence
- Weekly to hourly
- Power BI dashboards
- 35+ centralized
- Programs supported
- 4 programs
Programs: Internal Controls, Risk, Remediation, and Policy Exceptions. The diagrams on this page are simplified illustrations, not screenshots, and contain no GEICO data.
Where it started
A week of reporting, by hand.
At the start, the reporting ran on a weekly cycle of manual work: pull the data, clean it up, and republish the dashboards, by hand, every week.
For Issue Management, that cycle took two days. By the time a report was published, the data was already getting older, and it kept aging until the next week's pull. Every hour spent pulling and republishing was an hour that couldn't go into improving the data or the questions we were asking of it.
So the first job was clear: take the people out of the copy-and-paste loop.
Before and after
Weekly by hand, then hourly on its own.
Issue Management reporting went from a two-day manual weekly process to a fully automated platform with hourly refreshes through API integrations.
- PullExport the data by hand
- CleanFix and reshape it
- RepublishRefresh the dashboards by hand
Two days of manual work Data ages until next week
- Automated pullsPower Query, Reporting Services, APIs
- ValidatedStandard field checks
- RefreshedEvery hour, no one pressing publish
One day, refreshed every hour
The stages
Each step unlocked the next.
None of this was planned as one big bang. Automation bought back time, and that time went into the next layer.
- 01
Automate
Weekly manual pulls became automated pulls through Power Query, Reporting Services, and APIs.
UnlockedHourly data, and hours back every week
- 02
Hygiene
Dashboards that watch the quality of data entered in Optro and ADO, with standard field validation.
UnlockedData the team can trust, fixed at the source
- 03
Semantic model
The automated data consolidated into a shared semantic model, next to a centralized portfolio of 35+ Power BI dashboards.
UnlockedOne consistent base to build on
- 04
Copilot agents
Data agents in Microsoft Copilot, layered on the model, so the team can ask questions in plain language.
UnlockedSelf-service exploration
- 05In progress
Risk & Control Hub
Bringing it all together in Snowflake, with data standardized across platforms.
UnlocksOne holistic ERM story
Stage 01 · Automate
Stop pulling, start piping.
I replaced the weekly pulls with automated ones, built with Power Query, Reporting Services, and API integrations.
Issue Management reporting went from a two-day manual weekly process to a fully automated platform that refreshes every hour. Going from weekly to hourly was a huge win: the numbers now reflect the last hour, not last week.
I redesigned Remediation reporting the same way, with automation and analytics that give near real-time visibility into remediation work, so leadership can follow progress and spot emerging risks as they happen.
Just as important, the hours that used to go into pulling and republishing came back to the team. Everything after this stage was built with that time.
Stage 02 · Hygiene
Fresh data is only useful if it's right.
Once the data refreshed on its own, I could start watching its quality all the time, not just once a week.
So I built hygiene dashboards that monitor the quality of the data entered into Optro and Azure DevOps (ADO). They flag missing and invalid fields, like a record without an owner or a date that doesn't make sense, so the team can find and fix the problem quickly, at the source.
Behind them are data governance and quality controls across Issue Management and Remediation, with standardized field validation and monitoring. The result is more accurate, more consistent, and more reliable reporting.
Hygiene scorecard
What a hygiene check looks like
| Check | Source | Flagged | Fixed | Progress |
|---|---|---|---|---|
| Owner is missing · Optro | Optro | 12 | 12 | Clear |
| Due date is missing · Optro | Optro | 9 | 7 | 2 open |
| Status isn't an allowed value · Optro | Optro | 5 | 5 | Clear |
| Target date is before the open date · Optro | Optro | 4 | 3 | 1 open |
| Work item has no linked record · ADO | ADO | 7 | 6 | 1 open |
| Required field left blank · ADO | ADO | 6 | 6 | Clear |
| This example week | 43 | 39 | 4 open |
Stages 03 and 04 · Model and agents
One model, then questions.
With the data automated and checked, I consolidated it into a shared semantic model.
Alongside it, I built and centralized a portfolio of 35+ Power BI dashboards across Internal Controls, Risk, Remediation, and Policy Exceptions. Having the data and the dashboards in one place means people start from the same numbers instead of their own copies.
The model also made the next step possible: AI-enabled data agents in Microsoft Copilot, layered on top. Instead of waiting for a new report, people can ask a question in plain language and explore the risk and control data themselves.
I'll be honest: Copilot isn't perfect. It can misread a question, and it's not a replacement for a well-built dashboard. But as an exploration tool it's great. It gets people to a first answer fast, gives stakeholders self-service access to risk and control insights, and reduces reliance on manual reporting and analysis.
How it fits together
The architecture.
A simplified view of the flow, from the platforms where risk work is recorded to the dashboards, checks, and agents people use.
1Sources
- Optro
- Azure DevOps (ADO)
- Other risk and control platforms
2Automated pulls
- Power Query
- Reporting Services
- APIs
Scheduled refreshes, hourly for Issue Management
3Semantic model
- Consolidated, automated data
4What people use
- Power BI dashboards 35+
- Hygiene dashboards
- Copilot data agents
5Risk & Control Hub
- Snowflake
- Standardized across platforms
In progress
Stage 05 · Where it's heading
One place, one story.
The time we no longer spend pulling and republishing now goes into the biggest step yet: bringing everything together in the Risk & Control Hub, built on Snowflake.
The work is standardizing data across platforms, so issues, remediation, controls, and policy exceptions line up and can be read side by side instead of in separate silos.
The 35+ dashboards and the governance behind them are the foundation for the move to the Enterprise Risk Management and Risk & Control Hub operating model. Soon that foundation will let us tell a holistic ERM story, one view of risk across the enterprise, instead of a handful of separate ones.
Why it matters
The big picture.
- Timeliness: Issue Management reporting that refreshes every hour instead of once a week, and near real-time visibility into remediation.
- Trust: standardized validation and hygiene dashboards that catch bad or missing data where it's entered.
- Consistency: 35+ dashboards across four programs, centralized in one place.
- Self-service: Copilot data agents that let people explore the data without waiting on a manual report.
- Foundation: the data groundwork for the Enterprise Risk Management and Risk & Control Hub operating model.