{"id":50,"date":"2026-01-24T01:03:16","date_gmt":"2026-01-23T23:03:16","guid":{"rendered":"http:\/\/localhost\/demo\/?p=50"},"modified":"2026-01-25T22:44:49","modified_gmt":"2026-01-25T20:44:49","slug":"excited-news-about-arrival-fashion","status":"publish","type":"post","link":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/","title":{"rendered":"Monzo\u2019s machine learning stack"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div>\n<p class=\"wp-block-paragraph\">Machine learning, popularly referred to as&nbsp;<em>Artificial Intelligence,&nbsp;<\/em>is a method of using data to teach computers how to do things. Inside of a bank there are lots of areas that benefit from machine learning, ranging from preventing financial crime, building a more efficient and delightful customer service and much, muchmore.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In previous posts, I\u2019ve given an overview of the machine learning team (in&nbsp;<a href=\"https:\/\/medium.com\/data-monzo\/machine-learning-at-monzo-d83a7d1a71e1\" target=\"_blank\" rel=\"noreferrer noopener\"><u>2020<\/u><\/a>&nbsp;and&nbsp;<a href=\"https:\/\/medium.com\/data-monzo\/machine-learning-at-monzo-in-2021-6b3a825db233\" target=\"_blank\" rel=\"noreferrer noopener\"><u>2021<\/u><\/a>) and explained some of the areas we were focusing on. This post is about our platform and tools. Behind the scenes, we\u2019ve spent several years refining our approach to building impactful machine learning systems, and a core part of that is having the right tools in place to make our development experience fast and safe.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Our early principles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are lots of different ways that companies build up their machine learning systems. Some companies like&nbsp;<a href=\"https:\/\/netflixtechblog.com\/system-architectures-for-personalization-and-recommendation-e081aa94b5d8\" target=\"_blank\" rel=\"noreferrer noopener\">Netflix<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/www.uber.com\/blog\/michelangelo-machine-learning-platform\/\" target=\"_blank\" rel=\"noreferrer noopener\">Uber<\/a>&nbsp;have also blogged about their approaches. Several years ago, a small group of us had a discussion about what core principles we were going to use as we started to think about our approach to model deployment.&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Autonomy<\/strong>. We decided early on that we want to empower Machine Learning people to work end-to-end. That included deploying their own models into production, rather than requiring a handover to a backend engineer to complete that final step. Our view was that this would speed us up and lead people to think about the end-use of a model while it was being designed.<\/li>\n\n\n\n<li><strong>Flexibility.&nbsp;<\/strong>We decided that we didn\u2019t want to constrain our capabilities to specific frameworks or types of machine learning, so that people could pick the right tool for the job. We imagined a future where we would be working on a variety of problems with different types of data, and we wanted our early efforts to keep as many doors open as possible.<\/li>\n\n\n\n<li><strong>Reuse over rebuild.&nbsp;<\/strong>Years ago, Monzo already had a strong foundation for&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/monzo.com\/blog\/2016\/09\/19\/building-a-modern-bank-backend\" target=\"_blank\">a microservice-based production stack<\/a>, and a budding data stack&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/monzo.com\/blog\/2021\/10\/14\/an-introduction-to-monzos-data-stack\" target=\"_blank\">which has evolved considerably since then<\/a>. We decided we did not want to build an isolated and independent stack for machine learning; instead, we opted to reuse the existing infrastructure and tooling where possible and focus our efforts on the delta between what existed and what we wanted to achieve.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Over the intervening years, a lot of these early decisions have held, and we have benefitted from new features in our production and data stacks. Today, everyone who works in machine learning is embedded into five squads working across four different areas of the company, but we\u2019re all using the same platform and tooling to work on a wide variety of different problems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Monzo\u2019s machine-learning stack<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here is what our\u00a0<em>entire<\/em>\u00a0machine-learning stack looks like today:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/digitalfinance.best\/wp-content\/uploads\/2023\/05\/machine-learning.jpg\" alt=\"\" class=\"wp-image-689\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The following sections give a brief overview of each part of this image.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>We use Notebooks for prototyping<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Notebooks are web-based, interactive compute tools. At Monzo, we encourage people to use&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/colab.research.google.com\/\" target=\"_blank\"><u>Google Colab notebooks<\/u><\/a>&nbsp;in a similar way that engineers use whiteboarding tools. They help us do rapid exploration and prototyping, and to get a sense of what&nbsp;<em>could<\/em>&nbsp;work. The main difference with machine learning is that we need some data to be able to do that.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;ve used notebooks to explore the viability of several ideas and to quickly gauge whether it\u2019s worth investing more time into them. We explicitly don\u2019t take notebooks any further than this; when ideas mature, we move them out of notebooks into our codebase.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>We have a monorepo of Python jobs, libraries and command-line tools<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Training a machine learning model entails two big steps: preparing a dataset, and then using that data to train a model.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We split these out into two separate jobs, so that we decouple how a dataset is created from how the model is trained. This enables us to experiment with how models are trained without changing how the datasets are created.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All our jobs are committed and peer-reviewed before being merged into our shared monorepo on GitHub. We write them in Python, and create them using a base&nbsp;<a href=\"https:\/\/cookiecutter.readthedocs.io\/en\/1.7.2\/\" target=\"_blank\" rel=\"noreferrer noopener\"><u>cookiecutter<\/u><\/a>&nbsp;template.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dataset creation jobs orchestrate several BigQuery SQL queries to create the data we need to train a model, and export a versioned snapshot of that data to Google Cloud Storage. The majority of our feature engineering is implemented in SQL: this has allowed us to more easily re-use data that already exists in our data warehouse.<\/li>\n\n\n\n<li>Model training jobs are run as custom containers on&nbsp;<a href=\"https:\/\/docs.cloud.google.com\/vertex-ai\/docs\/start\/introduction-unified-platform\"><u>Google\u2019s AI Platform<\/u><\/a>&nbsp;and will often begin by downloading a snapshot of data and end by uploading a trained model. This gives us the flexibility to pick what type of instance we want to run training jobs on (for example, using GPUs for deep learning) and to add parameters to each job. We use Makefile commands to create and submit jobs to the AI platform.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Our monorepo also has a few extra things such as libraries with shared functionality (for example, to save models into our registry), and shared scripts to build and push containers to the&nbsp;<a href=\"https:\/\/docs.cloud.google.com\/artifact-registry\/docs\" target=\"_blank\" rel=\"noreferrer noopener\"><u>Google Container Registry<\/u><\/a>&nbsp;and then submit jobs to the AI platform.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Our model registry is the home of all our trained models<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The final steps of a model training job is to save the trained model by uploading it to our model registry. This is a single place where&nbsp;<em>all<\/em>&nbsp;machine learning models at Monzo are uploaded and enables us to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>retrieve the models for inference across both our data stack in Google Cloud and production stack in AWS<\/li>\n\n\n\n<li>control the state of models as we validate them (we&nbsp;<a href=\"https:\/\/nlathia.github.io\/2020\/07\/Shadow-mode-deployments.html\" target=\"_blank\" rel=\"noreferrer noopener\"><u>use shadow mode deployments<\/u><\/a>&nbsp;extensively)<\/li>\n\n\n\n<li>capture data about what models are being trained<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We have iterated a lot on this system over the last few years and are currently completing a small migration. We\u2019ll write a separate blog post about that journey!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Batch prediction jobs are orchestrated in our data stack<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We have some models that we want to run on a schedule, for example every day or every week. To enable this, we lean on our&nbsp;<em>reuse over rebuild&nbsp;<\/em>principle, and run these jobs in our existing data stack.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In practice, we write&nbsp;<a href=\"https:\/\/www.getdbt.com\/\" target=\"_blank\" rel=\"noreferrer noopener\"><u>dbt models<\/u><\/a>&nbsp;to transform any data and prepare the input for the batch prediction job, and then we write a Python job that pulls in the data, loads the model, and spits out the predictions. The dbt models and the batch job are orchestrated together using Airflow, which is run by our Data Platform Engineering team. Once the required dbt models have finished running, the job is submitted to the AI Platform.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the predictions are generated, it\u2019s likely we\u2019ll want to do something with them! This could range from inserting them back into BigQuery for analysis all the way through to triggering a specific action on a customer\u2019s account. Our batch inference jobs publish predictions as events onto&nbsp;<a href=\"https:\/\/docs.cloud.google.com\/pubsub\/docs\/overview\" target=\"_blank\" rel=\"noreferrer noopener\"><u>Google Pub Sub<\/u><\/a>&nbsp;so that they can be picked up by consumers who trigger actions. One of those consumers lives in our production stack, and republishes events onto&nbsp;<a href=\"https:\/\/nsq.io\/\" target=\"_blank\" rel=\"noreferrer noopener\"><u>NSQ<\/u><\/a>&nbsp;so that they can be picked up by any backend service and also be injected back into our data warehouse.&nbsp;&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Real-time inference is deployed alongside the rest of the bank<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">While there are some models that we want to run on a schedule, there are many others that we want to run in real-time. For example, all of our fraud classifiers need to run every time a transaction is initiated.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Monzo\u2019s production stack is largely written in Go, using Cassandra as the main database (<a href=\"https:\/\/archive.qconlondon.com\/london2020\/presentation\/modern-banking-1500-microservices\" target=\"_blank\" rel=\"noreferrer noopener\"><u>this QCon talk<\/u><\/a>&nbsp;by Suhail Patel and Matt Heath gives a great overview). To serve predictions from machine learning models, we needed to think about three things:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>managing deployments<\/li>\n\n\n\n<li>managing models<\/li>\n\n\n\n<li>managing features\/inputs to models<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Deployments:&nbsp;<\/strong>We introduced Python microservices into Monzo\u2019s production stack, and explicitly decided to keep them as lightweight as possible. In many cases, they are not doing much more than loading a model into memory and serving predictions from one or more handlers; any \u2018heavy lifting\u2019 that needs to be done is delegated to Go services. All of these microservices are generated from a template and have been integrated with our deployment tooling. Our aim was for a Python microservice deployment to be as similar as possible to Go service deployment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Models<\/strong>: We built a model registry in production. It has an API that allows any Python service to ask it for particular models and, if needed, enable Python services to automatically reload new models as they are turned on in production. Based on our&nbsp;<em>flexibility<\/em>&nbsp;principle, we&#8217;ve shipped scikit-learn, XGBoost, LightGBM, PyTorch, transformers, skorch, and Gensim models and experimented with many more.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Features\u00a0<\/strong>are the input that is required for a machine-learning model to make its prediction. We reason about them by calling them either:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Operational<\/em>\u00a0features, which are computed in real time, either by consuming from NSQ event streams or by making RPC requests to other services on demand. For example, we compute text embeddings in real-time, as well as many fraud-related features.<\/li>\n\n\n\n<li><a href=\"https:\/\/nlathia.github.io\/2020\/12\/Building-a-feature-store.html\" target=\"_blank\" rel=\"noreferrer noopener\"><em><u>Analytics&nbsp;<\/u><\/em><u>features<\/u><\/a>, which are computed on a schedule in our data warehouse and then transferred from BigQuery into Cassandra for on-demand retrieval. These features do not need to be accurate up to the latest millisecond, but still provide enormous value to our models (for example, aggregations across several months of data).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Machine learning systems are monitored with the same tools we use to analyze our systems and products<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Understanding the live performance of a model is a critical part of the model development process. For this stage, we lean on our&nbsp;<em>reuse over rebuild<\/em>&nbsp;principle and have adopted tools that are used across the company. We wanted our monitoring tools to be available to everyone, including people outside of machine learning.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To achieve that, we split model monitoring into three types:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>System monitoring<\/strong>&nbsp;covers things related to how healthy the system is: inbound requests, timing, memory and CPU usage, and so on. For this, we use&nbsp;<a href=\"https:\/\/grafana.com\/\" target=\"_blank\" rel=\"noreferrer noopener\"><u>Grafana<\/u><\/a>, just like every backend engineer at Monzo uses for their own services.&nbsp;<\/li>\n\n\n\n<li><strong>Feature monitoring&nbsp;<\/strong>is about keeping track of the health of the data we ingest into our feature store from our data warehouse. For this, we use the&nbsp;<a href=\"https:\/\/monzo.com\/blog\/2021\/10\/14\/an-introduction-to-monzos-data-stack\" target=\"_blank\" rel=\"noreferrer noopener\"><u>dbt-slack alert integration<\/u><\/a>&nbsp;our Data Platform team built alongside other data validation queries implemented as ingestion preconditions in our feature store.&nbsp;<\/li>\n\n\n\n<li><strong>Model performance monitoring&nbsp;<\/strong>covers all things related to how impactful the model is: from precision &amp; recall through to impact on specific company metrics (like fraud rates). For this, we use&nbsp;<a href=\"https:\/\/cloud.google.com\/looker\" target=\"_blank\" rel=\"noreferrer noopener\"><u>Looker<\/u><\/a>, just like every data scientist at Monzo uses to build product performance dashboards.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Adopting tools that are widely used inside of Monzo for the machine learning cases means that it&#8217;s easy to make everything accessible to others. For example, product managers will often review Looker dashboards that have machine learning metrics alongside product metrics. This helps to bring our two worlds closer to one another.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reflections and future plans<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The platform described above has many different parts, and each time we work on a machine learning problem, we\u2019ll use the subset of these components that is most relevant to the problem at hand. The range of complexity varies from batch jobs that read from the data warehouse, make predictions, and publish them as event streams through to real-time predictions that use a combination of analytic and operational features.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The main benefit of our current approach is that we spend little to no time managing infrastructure. For example, by implementing feature engineering in SQL (instead of, for example,\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/spark.apache.org\/\" target=\"_blank\"><u>Spark<\/u><\/a>) we can take advantage of\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/cloud.google.com\/blog\/products\/data-analytics\/new-blog-series-bigquery-explained-overview\" target=\"_blank\"><u>BigQuery\u2019s distributed architecture<\/u><\/a>,\u00a0and we do not need to run or manage clusters to run our jobs. We rarely spin up virtual machines manually. We also have a uniform approach, which means that it is easier to jump from one machine learning system into another because they all functionally look the same and they all use the same tools. So, upgrades usually are done once and benefit everyone.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are some notable pieces that are missing from the image above, like offline experiment tracking and automated builds. This does not mean we haven\u2019t thought about these steps! It just means we haven\u2019t yet settled on our preferred way of doing this, and we expect to build this (and more) capability into our systems in the near future.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Right now, our machine-learning platform is being adopted by other data teams as well. The\u00a0Decision Science\u00a0team has recently started to use this infrastructure to train statistical models for our borrowing products. As part of this, we&#8217;re also revisiting which pieces of our platform should sit, more broadly, within our Data Platform, and we are thinking through which parts of our existing platform we can make safer and easier to use.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Machine learning, popularly referred to as Artificial Intelligence, is a method of using data to teach computers how to do things.<\/p>\n","protected":false},"author":3,"featured_media":221,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"pmpro_default_level":"","tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-50","post","type-post","status-publish","format-standard","has-post-thumbnail","category-other","pmpro-has-access"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Monzo\u2019s machine learning stack - SME Banking Platform<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Monzo\u2019s machine learning stack - SME Banking Platform\" \/>\n<meta property=\"og:description\" content=\"Machine learning, popularly referred to as Artificial Intelligence, is a method of using data to teach computers how to do things.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/\" \/>\n<meta property=\"og:site_name\" content=\"SME Banking Platform\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/lototskyy.ilya\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-23T23:03:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-25T20:44:49+00:00\" \/>\n<meta name=\"author\" content=\"Illia Lototskyi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Illia Lototskyi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/\"},\"author\":{\"name\":\"Illia Lototskyi\",\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/#\\\/schema\\\/person\\\/38237486d66858b33e4f6ba67794287e\"},\"headline\":\"Monzo\u2019s machine learning stack\",\"datePublished\":\"2026-01-23T23:03:16+00:00\",\"dateModified\":\"2026-01-25T20:44:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/\"},\"wordCount\":2204,\"image\":{\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/#primaryimage\"},\"thumbnailUrl\":\"\",\"articleSection\":[\"Other\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/\",\"url\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/\",\"name\":\"Monzo\u2019s machine learning stack - SME Banking Platform\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2026-01-23T23:03:16+00:00\",\"dateModified\":\"2026-01-25T20:44:49+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/#\\\/schema\\\/person\\\/38237486d66858b33e4f6ba67794287e\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/excited-news-about-arrival-fashion\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/cental-asia\\\/home-central-asia\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monzo\u2019s machine learning stack\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/#website\",\"url\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/\",\"name\":\"SME Banking Platform\",\"description\":\"Knowledge Base Platform\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/#\\\/schema\\\/person\\\/38237486d66858b33e4f6ba67794287e\",\"name\":\"Illia Lototskyi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/08960b0f63bc51e30c56e95ed90b4691f0f09bce959b9a7c1b69b75f29893087?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/08960b0f63bc51e30c56e95ed90b4691f0f09bce959b9a7c1b69b75f29893087?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/08960b0f63bc51e30c56e95ed90b4691f0f09bce959b9a7c1b69b75f29893087?s=96&d=mm&r=g\",\"caption\":\"Illia Lototskyi\"},\"description\":\"Content Manager at SME Banking Agency. I analyze and curate the most important information every day, helping you stay informed about market developments, key trends, and make well\u2011grounded management decisions.\",\"sameAs\":[\"https:\\\/\\\/smebanking.agency\",\"https:\\\/\\\/www.facebook.com\\\/lototskyy.ilya\",\"https:\\\/\\\/www.instagram.com\\\/illia_lototskyi\"],\"url\":\"https:\\\/\\\/smebanking.agency\\\/platform\\\/author\\\/ilotocky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Monzo\u2019s machine learning stack - SME Banking Platform","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/","og_locale":"en_GB","og_type":"article","og_title":"Monzo\u2019s machine learning stack - SME Banking Platform","og_description":"Machine learning, popularly referred to as Artificial Intelligence, is a method of using data to teach computers how to do things.","og_url":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/","og_site_name":"SME Banking Platform","article_author":"https:\/\/www.facebook.com\/lototskyy.ilya","article_published_time":"2026-01-23T23:03:16+00:00","article_modified_time":"2026-01-25T20:44:49+00:00","author":"Illia Lototskyi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Illia Lototskyi","Estimated reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/#article","isPartOf":{"@id":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/"},"author":{"name":"Illia Lototskyi","@id":"https:\/\/smebanking.agency\/platform\/#\/schema\/person\/38237486d66858b33e4f6ba67794287e"},"headline":"Monzo\u2019s machine learning stack","datePublished":"2026-01-23T23:03:16+00:00","dateModified":"2026-01-25T20:44:49+00:00","mainEntityOfPage":{"@id":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/"},"wordCount":2204,"image":{"@id":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/#primaryimage"},"thumbnailUrl":"","articleSection":["Other"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/","url":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/","name":"Monzo\u2019s machine learning stack - SME Banking Platform","isPartOf":{"@id":"https:\/\/smebanking.agency\/platform\/#website"},"primaryImageOfPage":{"@id":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/#primaryimage"},"image":{"@id":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/#primaryimage"},"thumbnailUrl":"","datePublished":"2026-01-23T23:03:16+00:00","dateModified":"2026-01-25T20:44:49+00:00","author":{"@id":"https:\/\/smebanking.agency\/platform\/#\/schema\/person\/38237486d66858b33e4f6ba67794287e"},"breadcrumb":{"@id":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/smebanking.agency\/platform\/excited-news-about-arrival-fashion\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/smebanking.agency\/platform\/cental-asia\/home-central-asia\/"},{"@type":"ListItem","position":2,"name":"Monzo\u2019s machine learning stack"}]},{"@type":"WebSite","@id":"https:\/\/smebanking.agency\/platform\/#website","url":"https:\/\/smebanking.agency\/platform\/","name":"SME Banking Platform","description":"Knowledge Base Platform","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/smebanking.agency\/platform\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/smebanking.agency\/platform\/#\/schema\/person\/38237486d66858b33e4f6ba67794287e","name":"Illia Lototskyi","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/08960b0f63bc51e30c56e95ed90b4691f0f09bce959b9a7c1b69b75f29893087?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/08960b0f63bc51e30c56e95ed90b4691f0f09bce959b9a7c1b69b75f29893087?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/08960b0f63bc51e30c56e95ed90b4691f0f09bce959b9a7c1b69b75f29893087?s=96&d=mm&r=g","caption":"Illia Lototskyi"},"description":"Content Manager at SME Banking Agency. I analyze and curate the most important information every day, helping you stay informed about market developments, key trends, and make well\u2011grounded management decisions.","sameAs":["https:\/\/smebanking.agency","https:\/\/www.facebook.com\/lototskyy.ilya","https:\/\/www.instagram.com\/illia_lototskyi"],"url":"https:\/\/smebanking.agency\/platform\/author\/ilotocky\/"}]}},"_links":{"self":[{"href":"https:\/\/smebanking.agency\/platform\/wp-json\/wp\/v2\/posts\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smebanking.agency\/platform\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smebanking.agency\/platform\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smebanking.agency\/platform\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/smebanking.agency\/platform\/wp-json\/wp\/v2\/comments?post=50"}],"version-history":[{"count":7,"href":"https:\/\/smebanking.agency\/platform\/wp-json\/wp\/v2\/posts\/50\/revisions"}],"predecessor-version":[{"id":79761,"href":"https:\/\/smebanking.agency\/platform\/wp-json\/wp\/v2\/posts\/50\/revisions\/79761"}],"wp:attachment":[{"href":"https:\/\/smebanking.agency\/platform\/wp-json\/wp\/v2\/media?parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smebanking.agency\/platform\/wp-json\/wp\/v2\/categories?post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smebanking.agency\/platform\/wp-json\/wp\/v2\/tags?post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}