Mercury

The BBVA Python library for Machine Learning and Data Science

Mercury

The BBVA Python library for Machine Learning and Data Science

Mercury offers a range of tools and utilities that simplify and accelerate the creation of Machine Learning models, allowing data scientists to focus on the key aspects of their work.

This library was originally an Inner Source project, but now some assets are open-source! We welcome everyone to use and contribute to the library: together, we can improve it and make it more useful.

Mercury offers a range of tools and utilities that simplify and accelerate the creation of Machine Learning models, allowing data scientists to focus on the key aspects of their work.

This library was originally an Inner Source project, but now some assets are open-source! We welcome everyone to use and contribute to the library: together, we can improve it and make it more useful.

To get started with Mercury, head over to one of the following GitHub repositories. There, you'll find installation instructions, documentation, and examples of how to use the library.

Mercury's micro-repositories ↓

To get started with Mercury, head over to one of the following GitHub repositories. There, you'll find installation instructions, documentation, and examples of how to use the library.

Mercury's micro-repositories ↓

Discover everything you can do with Mercury library

From small utilities to complete frameworks

Some packages are designed to solve specific Data Science tasks, while others offer a diverse collection of Machine Learning functionalities through a unified API.

High-quality components

Every function or class in Mercury has been thoroughly tested and documented by a dedicated core team or contributors from the Advanced Analytics discipline at BBVA. The library is production-ready, meaning that it has been designed for deploying ML models in real-world environments. Additionally, tutorials are provided to facilitate the adoption of the library.

Domain-specific

In Mercury, you may find a representative sample of relevant ML domains for financial services such as explainability, monitoring, or sequence modeling.

Community

Join us in our journey towards open-source, and be a part of what we've built here at BBVA.

Discover everything you can do with Mercury library

From small utilities to complete frameworks

Some packages are designed to solve specific Data Science tasks, while others offer a diverse collection of Machine Learning functionalities through a unified API.

High-quality components

Every function or class in Mercury has been thoroughly tested and documented by a dedicated core team or contributors from the Advanced Analytics discipline at BBVA. The library is production-ready, meaning that it has been designed for deploying ML models in real-world environments. Additionally, tutorials are provided to facilitate the adoption of the library.

Domain-specific

In Mercury, you may find a representative sample of relevant ML domains for financial services such as explainability, monitoring, or sequence modeling.

Community

Join us in our journey towards open-source, and be a part of what we've built here at BBVA.

What you will find in Mercury

Mercury is structured with multiple micro-repositories in a highly modular design. Each repository is independent, but some have interdependencies. For example, mercury-robust uses mercury-dataschema and mercury-monitoring underneath.

01

mercury-dataschema →

Utility package that automatically infers feature types and calculates different statistics based on those types, given a Pandas DataFrame. It is very useful for validating whether different datasets match the same schema, or for using their statistics to calculate drift.

02

mercury-explainability →

Offers a collection of methods and techniques to interpret and inspect ML models. This package focuses on providing explanations for classification and regression models, both locally and globally, to gain a better understanding of how a Machine Learning model works and the factors that contribute to its predictions.

03

mercury-monitoring →

Package dedicated to model monitoring. It's crucial to continuously monitor the performance of ML models in production. This involves detecting changes in the incoming data distribution or data drift and estimating the model accuracy at inference time.

04

mercury-reels →

A library to analyze sequences of events extracted from transactional data. These events can be automatically discovered or manually defined.

05

mercury-robust →

A lightweight framework for performing robust testing on ML models and datasets. It ensures that data workflows and models are robust against certain conditions, such as data drift, label leaking, or input data schema issues, by raising an exception when they fail.

06

mercury-settrie →

A C++ library for creating, updating, and querying SetTrie objects. A SetTrie is a container of sets that performs efficient subset and superset queries.

What you will find in Mercury

Mercury is structured with multiple micro-repositories in a highly modular design. Each repository is independent, but some have interdependencies. For example, mercury-robust uses mercury-dataschema and mercury-monitoring underneath.

01

mercury-dataschema →

Utility package that automatically infers feature types and calculates different statistics based on those types, given a Pandas DataFrame. It is very useful for validating whether different datasets match the same schema, or for using their statistics to calculate drift.

02

mercury-explainability →

Offers a collection of methods and techniques to interpret and inspect ML models. This package focuses on providing explanations for classification and regression models, both locally and globally, to gain a better understanding of how a Machine Learning model works and the factors that contribute to its predictions.

03

mercury-monitoring →

Package dedicated to model monitoring. It's crucial to continuously monitor the performance of ML models in production. This involves detecting changes in the incoming data distribution or data drift and estimating the model accuracy at inference time.

04

mercury-reels →

A library to analyze sequences of events extracted from transactional data. These events can be automatically discovered or manually defined.

05

mercury-robust →

A lightweight framework for performing robust testing on ML models and datasets. It ensures that data workflows and models are robust against certain conditions, such as data drift, label leaking, or input data schema issues, by raising an exception when they fail.

06

mercury-settrie →

A C++ library for creating, updating, and querying SetTrie objects. A SetTrie is a container of sets that performs efficient subset and superset queries.

This is just the beginning

We work to ensure that Mercury continues to grow and release new packages. Many data scientists and Machine Learning engineers at BBVA already use or contribute to Mercury. The Advanced Analytics discipline and AI Factory have a core team that maintains the library and proactively develops new functionalities.

This is just the beginning

We work to ensure that Mercury continues to grow and release new packages. Many data scientists and Machine Learning engineers at BBVA already use or contribute to Mercury. The Advanced Analytics discipline and AI Factory have a core team that maintains the library and proactively develops new functionalities.

If you want to discuss specific functionality within the scope of Mercury, please open an issue on GitHub. This approach enables focused, organized and visible discussions that may be useful for someone else. You can also contact us at mercury.group@bbva.com

If you want to discuss specific functionality within the scope of Mercury, please open an issue on GitHub. This approach enables focused, organized and visible discussions that may be useful for someone else. You can also contact us at mercury.group@bbva.com