Isabelly Santana
Analytics Engineer · BI & Data

I turn messy, multi-source data into models and dashboards people actually use.

5+ years building data pipelines, Power BI reporting and data quality checks for companies like Ferrero, C&A, Natura and Empiricus. Lately I also build AI agents that run real business operations.

Based in São Paulo, Brazil (UTC-3) Open to remote roles English · Portuguese
5+years in data & BI
15retail accounts standardized into one sell-out model
8.4%volume gap traced back to product master data
1,960sales conversations modeled into a queryable database
Selected work

Real problems, real data

Company data stays confidential, so these are told as case studies: the problem, what I built, and what changed.

Ferrero · South America BI

One sell-out standard for 15 accounts across South America

A global project required every account's sell-out and inventory in one standard layout. The 15 retail and distributor accounts in Colombia, Ecuador and Chile each sent files in their own shape, and exports were done by hand, month by month.

I built the semantic models for all 15 accounts in layered Power Query (Bronze, Silver, Gold), with a validator that flags products missing from master data. Then I automated the monthly export with Power Automate and the Power BI REST API, covering those accounts plus Brazil's.

Result: while building it, caught an 8.4% volume gap against the official model and traced it to non-standardized product master data, where the same product carried different weights across sources.
Power Query (M)DAXPower AutomateREST APIData quality
CIVITI · Precast concrete manufacturer

Turning WhatsApp chats into a sales dataset

Every sale started on WhatsApp, but nobody could answer where leads came from or which customers were left waiting.

I consolidated 1,960 conversations since 2023 into a SQLite database and analyzed lead sources, response gaps and recurring customer questions.

Result: surfaced 698 ad-driven leads and 738 customers who never got an answer, now a follow-up list.
PythonSQLiteSQLSales analytics
Empiricus · Investment research

Reporting built from scratch after a Salesforce rollout

The customer relationship division had a new CRM and no reporting on top of it.

I consolidated the data and built Power BI dashboards for customer service, retention, advisory and content, then used handle time and volume by hour to redesign staff schedules.

Result: pinpointed the exact shift that needed a new hire and moved agents to the team where their numbers were strongest.
Power BISalesforceWorkforce analytics
Under the hood

How the Ferrero pipeline fits together

The real structure and query behind the South America sell-out pipeline, with client names removed.

Power Query layers

01
Monthly files on SharePoint15 retail and distributor accounts send sell-out and inventory every month, each in its own layout.
COECCL
B
BronzeReads the account's folder, turns each file name into a date and stacks every month into one table.
S
SilverCleans, types and renames columns to a common schema.
G
Gold: standard sell-out tableAggregates to month, resolves the product name (official master data first, the client's own name as fallback) and joins inventory on the first row of each product and month, so stock isn't repeated across stores. Incremental refresh.
DQ
ValidatorLists products that were sold but are missing from master data, so the master data team can fix them at the source.
02
Power Automate exportQueries the published models through the Power BI REST API and writes one Excel file per month in the global template, in batches of 5,000 rows through an Office Script. Also covers Brazil's accounts, from existing models.
COECCLBR

Beating the API row limit

// Power Automate loops over items like "2025-08|3"
// (month | partition) and fills in the values below.
EVALUATE
SELECTCOLUMNS(
  FILTER(
    fSellOut,
    fSellOut[Date] >= DATE(2025, 8, 1)
      && fSellOut[Date] < EDATE(DATE(2025, 8, 1), 1)
      && MOD(VALUE(fSellOut[Store Code]), 4) = 3
  ),
  "Product", fSellOut[Product] & "",
  "Date",    INT(fSellOut[Date] - DATE(1899, 12, 30)),
  "Units",   fSellOut[Sales Units] + 0,
  "Stock",   fSellOut[Stock Units] + 0
)

MOD splits a month into equal slices by store code, so each call stays under the limit. EDATE closes the month exactly, whatever its length. & "" and + 0 turn nulls into blanks and zeros, and the date becomes an Excel serial number.

The catch: if the loop has fewer partitions than the MOD divisor, a slice is never queried and the month comes out short with no error. I found this silent loss, aligned both numbers in every flow and made "sum of partitions = monthly total" a required check.

AI & Automation

Systems I built and run in production

Side projects for businesses I'm part of. They're live, used every day, and taught me how to put LLMs to work safely: the code does the math, the model does the conversation.

Governante OS Live

An operating system for a travel agency, with an AI assistant on WhatsApp

Packages, proposals in PDF, commission math and a sales pipeline in one app. Its assistant qualifies leads on WhatsApp, understands voice notes, presents matching packages and hands off to a human when the customer is ready to close.

Also tracks which ad each lead came from and sends conversion events back to Meta.

In production with real customers since September 2026, with daily automated backups.
Next.jsTypeScriptSupabaseClaude APIWhatsApp Cloud APIVercel
Celeiro Live

A finance advisor bot on Telegram

Logs expenses and income from plain chat and answers "money came in, what should I pay first?" following a payment plan.

All money math runs in code with integer cents; nothing is written without a confirm button. Includes a mobile web dashboard.

Cloudflare WorkersD1 / SQLiteClaude APITool use
CIVITI

AI agents for day-to-day operations

Agents built with Claude Code that handle quotes, contracts, inventory, purchasing, order planning, payment tracking and accounting summaries for a family manufacturing business.

Also designed the company's KPI structure and implemented its ERP.

Claude CodeAI agentsBling ERPPower BI
Power BI portfolio

Interactive dashboards

Ten reports across sales, finance, HR, logistics and customer service, built on sample datasets. Click any card to open the live, interactive report. The reports are in Portuguese.

Built in 2022 as part of my Power BI specialization. Data modeling, DAX measures, drill-through pages and custom navigation in each report.

Career

Experience

2026
FerreroBI Analyst, South America BI team
2024 – 2026
CIVITI Pré-MoldadosBI & Operations Lead
2025
C&AAnalytics Analyst, C&A Pay
2023 – 2025
Natura &CoData Analyst, Sales Force Training
2021 – 2023
EmpiricusDigital Service Analyst, Planning & Control
2019 – 2021
GOL AirlinesAdministrative Assistant

Education

Expected 2027
Federal University of ABC (UFABC)B.Sc. Science & Technology and B.Eng. Management Engineering
2021 – 2023
Cruzeiro do Sul UniversityAssociate degree in Data Science
2015 – 2017
ETEC Bartolomeu Bueno da SilvaTechnical high school diploma in Web Development (HTML, CSS, JavaScript, databases)

BI & Analytics

Power BI, DAX, Power Query (M), data modeling, data quality, advanced Excel

Data

SQL, Python, Amazon Redshift, SQLite, Postgres (Supabase), Power BI Service

Automation & AI

Claude API, AI agents, tool use, Power Automate, Power BI REST API, Office Scripts

Engineering

HTML, CSS, JavaScript, TypeScript, Next.js, Cloudflare Workers, Vercel, Git, GitHub Actions

Contact

Looking for someone who owns the data problem end to end?

I'm open to remote Analytics Engineer, BI and Data roles. The fastest way to reach me is email or LinkedIn.