<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Monfort Brian N.</title>
    <description>The latest articles on Forem by Monfort Brian N. (@monfortbrian_).</description>
    <link>https://forem.com/monfortbrian_</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3748492%2Fc54bd1e3-905a-442d-9687-613a4ef4c8cf.jpg</url>
      <title>Forem: Monfort Brian N.</title>
      <link>https://forem.com/monfortbrian_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/monfortbrian_"/>
    <language>en</language>
    <item>
      <title>From Operations to Insight: Designing a KPI Layer for Banking Performance</title>
      <dc:creator>Monfort Brian N.</dc:creator>
      <pubDate>Tue, 03 Feb 2026 23:24:31 +0000</pubDate>
      <link>https://forem.com/monfortbrian_/how-i-built-an-automated-operational-analytics-pipeline-from-a-queue-management-system-ecc</link>
      <guid>https://forem.com/monfortbrian_/how-i-built-an-automated-operational-analytics-pipeline-from-a-queue-management-system-ecc</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Most systems in banking are built to &lt;strong&gt;run operations&lt;/strong&gt;, not to explain them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They process transactions, manage queues, and keep branches moving. But when leadership asks simple questions: What’s happening right now? Where are we losing time? Which branch is underperforming today? those systems rarely have answers ready.&lt;/p&gt;

&lt;p&gt;This is the gap.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Not a lack of systems.&lt;/li&gt;
&lt;li&gt;Not a lack of data.&lt;/li&gt;
&lt;li&gt;But a lack of &lt;strong&gt;decision-ready metrics&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This project focused on closing that gap inside a retail banking environment without replacing any system, and without relying on APIs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Gap Between Activity and Understanding&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At branch level, everything was active:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customers taking tickets&lt;/li&gt;
&lt;li&gt;Staff serving continuously&lt;/li&gt;
&lt;li&gt;Services being delivered across counters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data was being generated all day.&lt;/p&gt;

&lt;p&gt;Yet operational teams were still:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reviewing performance at the end of the month&lt;/li&gt;
&lt;li&gt;Working with static Excel exports&lt;/li&gt;
&lt;li&gt;Reconciling inconsistent figures&lt;/li&gt;
&lt;li&gt;Making decisions without current visibility&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The system was optimized for transactions.&lt;br&gt;
The business needed it to be optimized for understanding.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;The Constraint&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Queue Management System (QMS) was operationally reliable, but analytically limited:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No usable API&lt;/li&gt;
&lt;li&gt;No structured data access&lt;/li&gt;
&lt;li&gt;Export formats inconsistent&lt;/li&gt;
&lt;li&gt;No direct link between system outputs and business KPIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This wasn’t a tooling issue, it was a modeling problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Shift: From Extraction to Interpretation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of forcing deeper integration, the approach changed:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Don’t change the system.&lt;br&gt;
Change how it's data is interpreted.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The goal became clear:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Design a KPI layer that translates operational data into consistent, decision-ready metrics automatically.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Architecture Overview&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A lightweight, fully automated pipeline was designed to sit on top of the existing system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Data Acquisition Layer&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Rather than relying on unstable exports, the system was used as the entry point.&lt;/p&gt;

&lt;p&gt;A scheduled automation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accesses the system daily&lt;/li&gt;
&lt;li&gt;Extracts two structured datasets [Staff and Service activity]&lt;/li&gt;
&lt;li&gt;Stores them securely in a raw data zone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No manual effort.&lt;br&gt;
No dependency on internal system changes.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The most reliable integration is often the one that works with the system, not against it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxoztdygs7glsjyavutsy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxoztdygs7glsjyavutsy.png" alt="Automated data extraction from QMS to secure storage without API dependency" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. KPI Transformation &amp;amp; Modeling Layer&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is where the system becomes useful.&lt;/p&gt;

&lt;p&gt;Two datasets, each partial on their own [Staff-level activity and Service-level transactions]&lt;/p&gt;

&lt;p&gt;Combined, they form the foundation of operational intelligence.&lt;/p&gt;

&lt;p&gt;Inside this layer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data is standardized and cleaned&lt;/li&gt;
&lt;li&gt;Time values are normalized&lt;/li&gt;
&lt;li&gt;Datasets are aligned and combined&lt;/li&gt;
&lt;li&gt;Metrics are aggregated&lt;/li&gt;
&lt;li&gt;KPIs are computed using business rules&lt;/li&gt;
&lt;li&gt;Missing insights are reconstructed through derived logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is not traditional ETL, it is a KPI modeling engine.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5lyfh9vvriyppgqb27j4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5lyfh9vvriyppgqb27j4.png" alt="Combining users and services datasets into a unified KPI dataset through transformation and business logic" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Designing the KPI Layer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not all metrics come directly from the system.&lt;/p&gt;

&lt;p&gt;They fall into two categories:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Direct Metrics&lt;/strong&gt; (Immediately available)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Derived Metrics&lt;/strong&gt; (Reconstructed through logic)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;The Unified KPI Dataset&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The output is a single, structured dataset designed for immediate use.&lt;/p&gt;

&lt;p&gt;It includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Operational volumes&lt;/li&gt;
&lt;li&gt;Time-based performance metrics&lt;/li&gt;
&lt;li&gt;Service and staff indicators&lt;/li&gt;
&lt;li&gt;Pre-computed KPIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No raw fields. No ambiguity. No recalculations in BI tools.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fluuwbrkfii0jcpavu0va.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fluuwbrkfii0jcpavu0va.png" alt="End-to-end data pipeline from extraction to KPI dataset powering dashboards and operational decision making" width="800" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3. Distribution Layer&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once validated, the dataset is automatically delivered to analytics tools.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scheduled refresh&lt;/li&gt;
&lt;li&gt;No manual handling&lt;/li&gt;
&lt;li&gt;Direct dashboard consumption&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the start of each day:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;KPIs are current&lt;/li&gt;
&lt;li&gt;Dashboards reflect real activity&lt;/li&gt;
&lt;li&gt;Teams operate with clarity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5sojnv1zv5wjqw19v8l8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5sojnv1zv5wjqw19v8l8.png" alt="Sample unified KPI dataset showing branch-level performance metrics including visits, wait time, SLA status, and abandonment rate" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Changed&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delayed reporting cycles&lt;/li&gt;
&lt;li&gt;Fragmented metrics&lt;/li&gt;
&lt;li&gt;Manual data preparation&lt;/li&gt;
&lt;li&gt;Limited operational visibility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Daily KPI availability&lt;/li&gt;
&lt;li&gt;Consistent definitions&lt;/li&gt;
&lt;li&gt;Fully automated pipeline&lt;/li&gt;
&lt;li&gt;Real-time branch performance visibility&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The system didn’t change.&lt;br&gt;
The visibility did.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Why This Matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This pattern extends beyond banking.&lt;/p&gt;

&lt;p&gt;Insurance, Telecom, and Public systems face the same challenge:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Systems generate data BUT they don’t generate insight.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By introducing a KPI layer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data becomes decision-ready&lt;/li&gt;
&lt;li&gt;Performance becomes measurable in real time&lt;/li&gt;
&lt;li&gt;Bottlenecks become visible early&lt;/li&gt;
&lt;li&gt;Operations become proactive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Final Thought&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Operational excellence doesn’t start with dashboards.&lt;/p&gt;

&lt;p&gt;It starts with designing the layer that makes those dashboards meaningful.&lt;/p&gt;

&lt;p&gt;You don’t need perfect systems.&lt;br&gt;
You need a reliable way to translate what they produce into what the business needs to see.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Because you can’t improve what you can’t see and you can’t see it if your data arrives too late.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>automation</category>
      <category>banking</category>
      <category>insurance</category>
      <category>data</category>
    </item>
  </channel>
</rss>
