Skip to main content
Rubén Solano
Personal projectActively developedData engineering

Analytics engineering lab on financial crime

A personal lab that recreates an analytics engineering environment on synthetic financial-crime data, with base, core and marts layers, quality tests and orchestration.

Personal learning and demonstration project. It is not a deployment for a real client.

Conceptual diagram
Placeholder

Data

  1. Synthetic data (250
  2. 000+ transactions)
  3. Load
  4. Base layer

Modelling

  1. Base layer
  2. Core layer (customers · transactions)
  3. Analytical marts

Quality and operations

  1. Quality tests
  2. Orchestration with Airflow
  3. CI with GitHub Actions

Conceptual diagram based on the project description. It will be replaced by a diagram of my own.

Overview

This is a personal learning and demonstration project. It simulates, with synthetic data, the kind of analytical environment used to study customer risk and financial crime. It is not a deployment for a real client and contains no information from any company.

Problem and goal

I wanted a place to practise and show how a complete data project is structured: layered modelling, quality tests, repeatable transformations and orchestrated execution. I chose a domain I know from experience — customers, transactions and risk signals — and synthetic data so I can show it without compromising anyone’s data.

Technical architecture

The project follows a layered organisation:

  • Base: sources loaded almost untouched, with consistent names and types.
  • Core: business entities — customers and transactions — with well-defined keys and rules.
  • Marts: tables prepared for specific analyses.

Models are written in SQL with dbt, which manages dependencies, tests and documentation. Execution is orchestrated with Airflow and automatic checks run with GitHub Actions.

I’m happy to walk through the implementation details (engines, models and specific parameters) in a conversation.

Technologies

  • Python for synthetic data generation and utilities.
  • SQL and dbt for transformations, tests and documentation.
  • DuckDB and BigQuery as analytical engines.
  • Airflow for orchestration.
  • GitHub Actions for continuous integration.

Implementation

The dataset contains more than 250,000 synthetic transactions linked to customers. From them the layers above are built and quality tests run: uniqueness and not-null on keys, relationships between tables and simple business rules. The aim is a reproducible process: the same run always gives the same results. The code is private and I am happy to explain it in detail.

Challenges and decisions

  • Synthetic rather than real data. It allows publishing the project but requires generating data with a believable structure. Analytical conclusions must not be extrapolated to real data.
  • Explicit layers. More effort at first, but it separates source changes from business-rule changes and makes each part easier to test.
  • Tests from the first model. Catching a problem in the base layer is much cheaper than discovering it in a final report.

Results and evaluation

Verifiable outcome: a reproducible environment with more than 250,000 synthetic transactions, a three-layer architecture, quality tests and orchestrated transformation flows. No business metrics are published because the data is synthetic.

What’s next

Document the model catalogue and add more test scenarios. If any of this is useful for your case, the data engineering service describes how I apply it.

Related services

  • Data engineering

    Reliable pipelines, clear models and quality tests so you can decide with data you trust.

    View service
  • Process automation

    Turn manual, repetitive tasks into scheduled, traceable and maintainable workflows.

    View service

More projects

  • Artificial intelligencePersonal project

    LLM assistant with long-term memory

    A language-model assistant with persistent memory and hybrid retrieval — semantic and keyword — over a graph-based store.

    • Python
    • Neo4j
    • Embeddings
    • TF-IDF
    • LLM
    PrototypeView case
  • Machine learningPersonal project

    Computer-vision inventory system

    A system combining computer vision and data processing to identify and classify items and support inventory analysis.

    • Python
    • YOLO
    • OCR
    • Embeddings
    PrototypeView case
  • AnalyticsPersonal project

    Marketing Mix Modeling with PyMC

    An analytical project exploring marketing attribution, budget allocation and response modelling with Bayesian statistics in PyMC.

    • Python
    • PyMC
    • Statistical modelling
    PrototypeView case

Need something similar for your business?

I can adapt this approach to your data and processes.