Analytics & Data Engineer · Becall Group

Data that runs itself.

I integrate dialers, client CRMs and ad platforms, build the data layer, model Power BI as code and run B2B integrations in production for clients such as Repsol, Eni Plenitude, ASISA and Club Internacional del Libro.

David Zerpa

In production for clients such as

  • Repsol
  • Eni Plenitude
  • ASISA
  • Club Internacional del Libro
  • EDP
  • Finetwork
  • ADT
  • Verisure
  • Vodafone
>90 s → 10 sthe dialer's critical view, which used to time out
106 s → 0.3 scycle time of a B2B integration, optimised
30% → 90%+reliability of a CRM automation behind SSO and OTP
−54%rows read per day on the dialer database
40+projects and sub-projects delivered
15+automated processes in production
~900automated tests written
1,800+DAX measures maintained as code

What I do

Analytics, engineering and operations.

Three layers that are usually kept apart. I design the data, build the system and own what I put into production.

01

Power BI as code

Dimensional modelling, advanced DAX and semantic models versioned in PBIP/TMDL/PBIR, with my own validators. I merged five near-identical reports into one configuration-driven model with dynamic RLS and incremental refresh.

Power BIDAXPower Query MTMDL / PBIPRLSIncremental refresh
02

Data engineering

Incremental, idempotent ETL: watermarks with overlap, upserts on a business key, the outbox pattern, backfills and reconciliation. A single source of truth for sales across some 11 clients, refreshed every hour.

PythonSQLMariaDB / MySQLBigQuerypytestData quality
03

B2B integrations

I connect operations to each client's systems through REST APIs, web services, webhooks and SFTP, with more than 15 platforms integrated. All of them idempotent, with retries, alerts and zero duplicates.

REST APIWebhooksSFTPPHP 8OutboxZapier
04

Web CRM automation

When a client offers no API, I automate their portal: SSO, OTP read from the mailbox, MFA with number matching and anti-bot protection. Five daily manual processes turned into scheduled jobs.

PlaywrightSeleniumSSO / OTP / MFACloudflare TurnstileSalesforce
05

Database optimisation

Evidence-based diagnosis: slow log, EXPLAIN and, when needed, the engine's source code. Views cut from 8–15 s to under 1.5 s and 1.38 million pointless statements a day removed.

MariaDB 11MySQL 8Triggers and eventsSlow logEXPLAIN
06

Contact centre platforms

I work in the BPO sector on the dialer (OCM) and the CCaaS (Nextiva): migrating reports between platforms, rotating outbound numbers automatically, enforcing do-not-call lists and launching campaigns.

BPOOCMNextiva / ThrioDialerDDIDNC lists
07

Marketing analytics and attribution

ETL for Meta Ads and Google Ads, matching leads to real sales and sending conversions back to Meta, so campaigns optimise for customers rather than leads.

Meta Conversions APIGoogle Ads APILead AdsCustomer MatchIdentity resolution

How a project flows

From the source to the decision.

Five stages, one person responsible for making them fit. Select each one to see what I do and with what.

Extract

I get the data from wherever it lives: the dialer, an ads API, a telephony provider or a client's web CRM behind two-factor authentication.

What I do

  • API clients with rate-limit handling, backoff and jitter
  • Portal automation with SSO, OTP and MFA
  • An empty page is treated as an error, not as "0 rows"

With

PythonPlaywrightMeta and Google Ads APIOCMNextivaSFTP

Results · Becall Group 2025–2026

What changed afterwards.

Three of the twelve documented projects. The rest, with client and figures, are under Experience.

Internal client · Dialling platform

>90 s → 10 sThe dialer's critical view

From timeout to 10 seconds on a database at 100% CPU

Before
The server maxed out on every refresh and agents' forms froze for around 50 s.
Now
Three root causes fixed, key views under 1.5 s and data parity verified.
MariaDBSlow logEXPLAIN

Internal client · Management and operations

5+ → 1Reports merged into one model

A Power BI model you configure from a table

Before
Five near-identical reports; adding a project meant editing the model and republishing.
Now
Onboarding a project is adding a row. Dynamic RLS for external partners.
Power BITMDLRLS

Club Internacional del Libro · Publishing

511 tests43 of 43 records accepted at go-live

A complete B2B integration: SFTP, REST API and Power BI

Before
The client could not see the outcome of each lead; the data lived in two systems.
Now
Daily files, a near-real-time API and a shared report, all aligned.
PythonREST APISFTP

How I work

Engineering discipline, in BI too.

What I put into production, I maintain. So every change can be tested beforehand and undone afterwards.

01

Safe changes

Dry-run by default, a backup before every change, a single transaction and a rehearsed rollback.

02

Reliable by design

Idempotency, retries with backoff, alerts with anti-spam and a record of every run.

03

Tested

Around 900 tests, simulators of external APIs with fault injection and independent reviewers.

04

Documented

A changelog with root causes, runbooks, 17 ADRs and plain-language versions for the business.

AI applied to engineering

Claude is my development copilot.

I work with Claude Code every day, but on my own terms: I decide the architecture, the AI proposes and an independent reviewer checks. I use it as a multiplier, always with guardrails.

  1. 01
    Rules per project

    A CLAUDE.md with non-negotiable rules and lessons learned, my own slash commands, hooks and reviewer subagents.

  2. 02
    My own framework for Power BI

    An orchestrator with four specialists (M, model, report and DAX) and automatic validation after every edit. In daily use.

  3. 03
    MCP to operate and test

    The Power BI MCP to work on the semantic model and the Playwright MCP for visual testing.

  4. 04
    Fast without losing quality

    A complete B2B dashboard in 4 days and a 15-page attribution report in two weeks, with tests and documentation.

Quick facts · For recruiters

The essentials in 20 seconds.

From BI Developer to Analytics & Data Engineer in under two years, with a business background (Business Administration + a Master's in BI).

Now

  • Analytics & Data Engineer at Becall Group · Be Call Digital, since Jan 2025
  • Clients in 5 sectors · energy, alarms, telecoms, insurance and publishing
  • Before: BI Analyst at Viscofan · São Paulo, ICEX Vives programme

Core stack

  • Power BI · DAX · M · TMDL
  • SQL · MariaDB / MySQL · BigQuery
  • Python · Playwright · pytest
  • APIs · webhooks · PHP / Laravel · Linux
  • Contact centre: OCM · Nextiva
  • Claude Code · MCP

Also

  • Spanish native · English advanced · Portuguese advanced
  • Microsoft PL-300 certification
  • Master's in Business Intelligence · UNIR
  • Direct contact with clients, partners and vendors

Consulting

Is your team still copying and pasting?

I also help companies find what can be automated and get it running, from a one-off assessment to the complete project.

A

Process and admin automation

Repetitive tasks, portals, reports and paperwork that depend on one person today.

B

Data: model, storage and performance

Sorting out where the data lives, why two reports disagree and why the database is slow.

C

Dashboards and applied AI

Dashboards that get used and AI assistants built into the team's daily work.

Next step

Which process would you like to stop doing by hand?

Tell me the problem in two lines. I'll tell you honestly whether it can be automated, how, and what it would take.