7+ years in enterprise analytics

Christopher J. Bratkovics

Data Scientist | Analytics Engineer | Applied AI

Data Scientist and Analytics Engineer with 7+ years in enterprise analytics, building predictive models, production data pipelines, and business-facing applications. I combine hands-on development with data modeling, source reconciliation, and business-rule validation to turn messy source data into reliable reporting and decision support.

Experience

Progression from business-critical reporting into applied modeling, operational AI, and production data-product ownership

Senior Data Analyst (Data Science / Analytics Engineering)

OUTFRONT Media
April 2022–Present

Built production reporting systems, developed Python models, and delivered business-facing AI applications. Translated fragmented advertising data and complex business rules into reusable data products for revenue reporting, customer retention, and inventory-performance analysis.

  1. Production data foundationBuilt the Snowflake/dbt data foundation for production revenue reporting across five advertising platforms, integrating source-specific schemas, deduplication, data enrichments, and backfills into Sigma-facing marts.
  2. Reporting migrationMigrated legacy reporting logic as layered source transformations, unified fact models, and Sigma-facing marts, preserving established business definitions through the data-platform migration.
  3. Daily occupancy modelingBuilt and validated daily programmatic occupancy and buy-type models; designed separate sales-activity and shared-capacity components to preserve metric meaning across detailed and aggregate reporting.
  4. Inventory modeling & peer analysisImplemented regression models for inventory utilization and revenue per unit; combined model outputs with cross-market peer comparisons to identify performance gaps and support yield-management analysis.
  5. Retention & segmentationDeveloped Python churn-risk models and K-means customer segmentation to identify advertiser-retention priorities and account-growth opportunities against business-defined targeting criteria.
  6. Generative AI deliveryDelivered generative AI applications for editable executive financial communications; supported production troubleshooting and partnered with the data team on source-data and output validation.
  7. Cross-functional deliveryPartnered with business stakeholders, vendors, and engineers on requirements, troubleshooting, user acceptance testing, and documentation to deliver maintainable data products at scale.

Business Intelligence Data Analyst (Data Architecture / Data Science)

OUTFRONT Media
July 2019–April 2022

Built the data pipelines and analytical models behind recurring executive reporting, combining Python automation, dimensional modeling, and KPI design with applied machine-learning collaboration.

  1. Python ETL & automationAutomated recurring reporting with Python ETL, replacing manual data preparation with repeatable extraction, transformation, and reporting workflows.
  2. Dimensional modeling & KPIsDesigned fact and dimension tables and defined KPIs, creating reusable data structures for consistent executive reporting across business lines.
  3. Advertiser entity resolutionBuilt Python/SQL entity-resolution workflows linking external advertisers to internal accounts through name normalization, exact and fuzzy matching, confidence tiers, and exceptions for human review.
  4. Applied machine learningAuthored and presented an applied machine-learning use case in 2021 for advertising-inventory optimization and customer-value projection with external data-science specialists.
  5. Production release coordinationCoordinated the transition of business reporting from development to production, aligning stakeholders on release sequencing and phased rollout options to minimize disruption to active users.

Education

M.S., Applied Data Science

Bay Path University

June 2025

B.S., Computer Science

University of Vermont

December 2018

Data Science Immersive

General Assembly

February–May 2019

Non-degree training program

Selected professional work

Decisions behind the delivery

Production reporting, applied modeling, and operational AI work, with contribution and validation in context.

Five-source reporting modernization

A maintainable Snowflake/dbt foundation feeds production revenue reporting in Sigma.

Implementation and validation
Business problem
Five differently shaped advertising feeds needed consistent reporting without changing established revenue and delivery definitions.
My contribution
I built source transformations, unified facts, Sigma-facing marts, inventory enrichment, source-specific deduplication, controlled backfills, and reusable reconciliation.
Consequential decision
I preserved valid source differences in explicit layers so historical recovery and business validation remained traceable.
Validation and result
Migration checks distinguish five-platform standardization from preserved definitions and cover source/date populations, business calculations, and record-level exceptions.

Daily occupancy without double-counted capacity

Completed programmatic occupancy and buy-type components were built and validated for the documented reporting grains.

Implementation and validation
Business problem
Activity split across sources and buy types can multiply shared inventory-day capacity when grains are combined.
My contribution
I built the SSP components and integration; a collaborating data engineer owns the shared-capacity and charted components.
Consequential decision
We separated sales activity from shared inventory-day capacity so additional activity groupings do not repeat the denominator.
Validation and result
Aggregation checks cover the documented measurable populations and detailed and aggregate reporting grains.

Reviewable advertiser mappings

Connected external advertiser data to internal reporting while keeping uncertain matches inspectable.

Implementation and validation
Business problem
External advertiser names did not reliably join to internal accounts, while maximizing coverage could increase false matches.
My contribution
In the earlier BI role, I built Python/SQL workflows combining normalization, exact and fuzzy matching, confidence tiers, and exceptions for human review.
Consequential decision
Exact matching resolved known names first; fuzzy matching handled remaining candidates without treating similarity as calibrated probability.
Validation and result
Retained scores, tiers, and exceptions made coverage and review status visible without presenting coverage as accuracy.

Applied modeling for retention and inventory decisions

Produced decision support for retention priorities, customer groups, inventory-performance gaps, and peer comparisons.

Implementation and validation
Business problem
Business teams needed structured views of advertiser risk and uneven inventory utilization.
My contribution
I developed churn-risk models and K-means segmentation separately from inventory-utilization and revenue-per-unit regressions, then used peer comparisons to surface priorities.
Consequential decision
Retention, segmentation, and inventory-performance questions remained distinct rather than being presented as one model.
Validation and result
Outputs were validated against business-defined criteria as analytical decision support; no measured lift or recurring adoption is attributed.

Generative AI for executive communications

Delivered and supported applications that turn business and financial data into editable executive communications.

Implementation and validation
Business problem
The application needed maintainable business-data inputs and dependable, editable output; a later stale source view interrupted valid output.
My contribution
I contributed to delivery and support, traced the incident to stale source views, coordinated correction with the data team, and validated source data and restored output.
Consequential decision
We corrected the source dependency rather than masking the issue with prompt or interface changes.
Validation and result
Application output was checked after the cross-team source correction, separating supported delivery and troubleshooting from broader platform ownership.

Independent Technical Projects

Public implementations and scoped evidence—kept distinct from proprietary professional work.

Flagship evidence

Fantasy Football Projection Pipeline

6.5% lower MAE than a trailing-mean baseline across 5,914 player-weeks in a 2025 out-of-sample evaluation.

Per-position random forests use lagged/as-of features and season-based temporal evaluation. The 4.4909 versus 4.8046 PPR-point result is a historical evaluation of a frozen model—not a prospectively published 2025 forecast or a rolling-origin result. GMM/PCA preseason draft tiers are evaluated separately.

What to inspect: Inspect the pinned evaluation artifact, model card, and artifact-backed FastAPI/Next.js presentation.

PythonRandom forestsAs-of featuresFastAPINext.jsGMM / PCA

Featured project

SQL Genius AI | SQL Analytics Playground

An inspectable browser analytics workflow: explore a synthetic sample schema, draft or edit SQL, explicitly run an accepted read-only query in SQLite, preview bounded results, and export CSV.

The maintained demo defaults to local reviewed-intent/template generation with a conservative schema fallback, separate generation and execution, and synthetic fixtures. A legacy Python/FastAPI Anthropic route remains optional for private compatibility; the browser demo does not call it by default.

What to inspect: Inspect the maintained local generator, browser SQLite execution, editable query flow, read-only policy, bounded previews, CSV export, and evidence notes. Policy checks narrow behavior but do not prove SQL correctness, tenant security, or a hardened sandbox.

TypeScriptNext.jsBrowser SQLiteLocal templatesRead-only policy

Featured project

AI Chat System | Multi-Provider LLM Gateway

An observable FastAPI/Next.js gateway with SSE streaming, provider failover, exact and semantic response caching, structured errors, bounded requests, and per-request/session telemetry.

A scoped 2026-09-09 localhost run from a dirty working tree used an in-memory cache with configured embeddings: failover checks passed 10/10 and SSE checks passed 20/20. The 68-pair semantic-cache run measured 56.6% precision, 90.9% recall, and 23 false positives.

What to inspect: Inspect the committed evaluation routines and presentation. The simulated primary failure occurred before its request; these checks are not a production SLA, real-timeout guarantee, or Redis-backed benchmark, and cache behavior is configuration-dependent.

PythonFastAPINext.jsSSECachingTelemetry

Additional work

Additional work

NBA Stat Predictor

A LightGBM batch pipeline with point-in-time features, GitHub Actions, Hugging Face artifacts, Next.js artifact-reading pages, season replay reconciliation, and a read-only tool-grounded brief.

The holdout artifact reports 4.764 points MAE versus a 4.908 last-10 baseline for 22,244 eligible 2025–26 player-games (at least 10 minutes with baseline available). The distinct all-replay population does not beat its baseline, and post-game minutes eligibility is not pregame knowledge.

What to inspect: Inspect cohort-aware metrics, replay reconciliation, and the read-only tool-grounded brief. Published replay differences are +0.0021 points, +0.0008 rebounds, and +0.0010 assists against a 0.05 tolerance; the restricted replay and holdout cohorts have different eligibility rules.

PythonLightGBMGitHub ActionsHugging FaceNext.js

Additional work

Document Intelligence | Local-First Retrieval Service

A local-first retrieval service with an authoritative SQLite manifest, staged ingestion/replacement/deletion, current-version hydration, scoped lexical and hybrid retrieval, and offline evaluation.

Document scope is applied to both retrieval branches, while unavailable-provider and excerpts-only outcomes are explicit. Dense retrieval, generation, and some reranking paths require configuration; citation validation checks references, not entailment, and sample tests are not a general quality benchmark.

What to inspect: Inspect the engineering case study, architecture, and lifecycle/retrieval tests; the repository documents a local walkthrough rather than claiming a verified hosted service.

PythonSQLiteHybrid retrievalFastAPIOffline evaluation

Technical Skills

Tools and methods I use across analytics engineering, modeling, and applied AI

Core analytics engineering

PythonSQLSnowflakedbtSigma

Data products and quality

Dimensional modelingETL / ELTSource integrationReconciliationData testingControlled backfillsGit

Modeling and validation

Random forestsLightGBMRegressionK-meansEntity resolutionFeature engineeringTime-aware evaluationBaseline comparison

Applied AI and applications

FastAPINext.jsLLM APIsRetrievalSSE streamingCachingTelemetry

Cloud and delivery

AWSS3DockerGitHub ActionsPostgreSQL

Delivery highlights

Selected outcomes from production reporting, applied modeling, and operational AI.

7+ years

Enterprise analytics

A continuous path from reporting foundations to modeling and maintainable data products

5 platforms

Revenue reporting

Source-specific data modeled in Snowflake/dbt for Sigma-facing production marts

Decision support

Retention and inventory

Models, segments, mappings, and peer comparisons built for distinct analytical questions

Validated delivery

Applied AI

Editable executive communications delivered, with source and output validation during recovery

Let’s connect

Questions about my work or interested in exchanging ideas about data science, analytics engineering, or applied AI? Get in touch.

Professional profiles

Source code for all independent projects is on GitHub.

© 2026 Christopher J. Bratkovics. Built with Next.js, TypeScript, and Tailwind CSS.