We're hiring
Back to blog

Supercharging Analytics with Polars: A Case Study in Analyst Empowerment

By Tyler Riccio, Assistant Vice President Enterprise Data and Analytics @ Citizens on Wed, 26 Nov 2025

Modernizing Enterprise Analytics at Scale

Citizens, one of the oldest and largest financial institutions in the United States, is rapidly modernizing its data and analytics ecosystem – anchored by Python as the primary language for its data scientists and analysts.

While SQL remains an important tool, analysts increasingly need robust in-memory data processing capabilities to manage the scale and complexity of today’s analytical workloads. Most reports, models, and analysis now rely on in-memory computation, creating new demands for speed, efficiency and scalability. Recognizing these needs, Citizens sought an in-memory query engine that could overcome resource bottlenecks and constraints inherent with large-scale data operations. The answer: Polars.

Polars has proven transformative across three key areas:

  • Democratizing access to large-scale analysis
  • Providing a robust grammar of business logic
  • Accelerating delivery speed

With Polars, we have faster development cycles, richer and more timely insights, and a strong pillar of Citizens’ ongoing modernization journey.

Democratizing Large Data for All Analysts

Polars makes large-scale Python-based data analysis accessible to every analyst – no database backend required. It enables massive aggregations, complex windowing, and advanced analytics at a scale previously out of reach for analysts looking to push the bounds of the engine.

Analysts have reported dramatic gains when working with massive transactions and point-of-contact datasets. Instead of relying on cloud databases or sampling for proof of concept, with Polars, they can now perform full-scale computation directly in memory.

With Polars, queries that once ran for 80 minutes now finish in 8 minutes. This speed has pushed analysts to use Polars for optimization and even matrix-like operation which is creating real impact: faster feature delivery, fresher data for modeling, more responsive reporting, and even improved accuracy. Where slow computation once forced us to accept approximations, we can now apply more precise logic without worrying about runtime.

Benchmark query times Figure 1: Polars shortened the processing time of a time series analysis on interaction history data from 80 to 8 minutes

This capability has reshaped workflows across dashboards, plotting, and ad-hoc reporting. Where proof of concept once relied on a few hundred rows, teams can now process highly dimensional datasets without taxing machines. The result: faster refresh cycles and richer dashboards. Even platform-level reporting on massive log data stored in S3 or remote storage has become practical. Everything can be processed in memory, at scale.

Polars also significantly reduces the cognitive load usually required to leverage modern multi-core architecture, i.e. clusters, horizontal scaling or partitioning. It automatically utilizes the full power, so analysts and scientists can focus on analysis instead of infrastructure.

For those coming from distributed frameworks, this simplicity is a relief: less architecture, same performance.

A Grammar of Business Logic

“Came for the speed, stayed for the syntax”

This phrase has become a reality for Citizens’ analytics teams. Polars’ use of expressions as the foundation for building logic has changed how teams create data content and features. As we move toward open-source tooling, this expressive, declarative style feels natural for defining business logic. By treating expressions as first-class citizens, teams now write code that’s more readable, maintainable, and easy to review.

This shift has significantly reduced long-term tech debt. Logic that once required significant effort to trace or update can now be located, understood, and modified quickly.

A standout example is the over method, which has dramatically simplified group-level statistics. Combined with dynamic rolling and windowing, teams now deliver granular insights with a fraction of the code once needed in SQL. The result: faster development cycles, lower operational overhead, and greater agility as business needs evolve.

From a platform perspective, Polars’ composable expression model has improved both maintainability and speed for even the most complex workflows.

Previously, transaction matching across systems meant deeply nested loops and intricate conditional logic. Now, teams can iterate and adapt logic rapidly, reducing development time and minimizing the risk of human error. This flexibility translates to faster delivery of new features, more accurate input to models, and easier management of high-dimensional data.

Polars has become a cornerstone for advanced analytics, delivering exceptional efficiency on even the most complex transformations. Its design enables analysts to build intricate, computationally heavy features with confidence, while offering the flexibility needed for scalable analysis.

Derek Caramella
Vice President, Enterprise Marketing Data Analytics @ Citizens

Accelerating Delivery Speed from Hours to Minutes

Working with large datasets used to mean constant trade-offs: sampling, offloading to cloud databases, or worrying about memory blowups during complex operations. Intermediate memory usage was unpredictable, and something as simple as moving derivative across millions of rows could consume hundreds of gigabytes.

With Polars, the same calculations now run in 10–20GB, in a single expression, and finishes significantly faster.

This efficiency allows analysts to layer in richer metrics, such as extra moving averages, custom rolling trends, and linear algebra at scale. Lazy computation has enabled additional optimizations like predicate pushdown, projection, and CSE happening behind the scenes, so teams don’t have to micromanage query plans. It’s faster, uses less memory, and removes a lot of cognitive overhead.

Polars is 4x faster than traditional SQL solution for complex rolling aggregate Figure 2: Analysts saw a ~4x speed up in total compute time in one of their projects

One example is a rate estimation program that previously relied on tolerance-based shortcuts. With Polars’ Rust-based plugins, the same program now runs with near-zero tolerance, delivering more accurate estimates and better information for downstream analytics.

Polars is 4x faster than traditional SQL solution for complex rolling aggregate Figure 3: Polars plugin enabled a significant performance gain for the rate estimation program

Another example is when Polars Plugins unlocked powerful geospatial capabilities, enabling analysts to tackle unconventional operations with ease. One analyst achieved dramatic speedups in a complex geospatial search task, using just a bit of custom Rust.

Polars Plugins processing geospatial task 12x faster Figure 4: Polars plugin unlocked dramatic speedups for a geospatial search task

Looking Forward

Polars has transformed analytical workflows across Citizens. By removing traditional barriers around scale, complexity, and performance, it has empowered teams to deliver faster, more accurate insights that directly impact business decisions.

Polars has been remarkably adept at creating highly complex (and computationally intense) features for downstream models and analysis. There have been a lot of "this can't be right" moments where analysts first encountered the speed/memory optimizations. I can't speak highly enough of the framework and flexibility it's afforded analysts for experimentation and analysis.

Tyler Riccio
Assistant Vice President Enterprise Data and Analytics @ Citizens

About Citizens

Citizens Financial Group, Inc. is one of the oldest and largest financial institutions of the United States, with $222.7 billion in assets as of September 30, 2025. Headquartered in Providence, Rhode Island, Citizens offers a broad range of retail and commercial banking products and services to individuals, small businesses, middle-market companies, large corporations and institutions. Citizens helps its customers reach their potential by listening to them and by understanding their needs in order to offer tailored advice, ideas and solutions. In Consumer Banking, Citizens provides an integrated experience that includes mobile and online banking, a full-service customer contact center and the convenience of approximately 3,100 ATMs and approximately 1,000 branches in 14 states and the District of Columbia. Consumer Banking products and services include a full range of banking, lending, savings, wealth management and small business offerings. In Commercial Banking, Citizens offers a broad complement of financial products and solutions, including lending and leasing, deposit and treasury management services, foreign exchange, interest rate and commodity risk management solutions, as well as loan syndication, corporate finance, merger and acquisition, and debt and equity capital markets capabilities.

1
2
4
3
5
6
7
8
9
10
11
12