7+ years in enterprise analytics

Christopher J. Bratkovics

Data Scientist | Analytics Engineer | Applied AI

I build predictive models and production data products, translating fragmented business data into reliable reporting and analytical tools. At OUTFRONT Media, I own a five-platform Snowflake/dbt reporting foundation and develop Python-based solutions for advertiser retention, segmentation, and inventory performance.

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 to present

Senior individual-contributor work spanning a five-source production reporting foundation, applied modeling, operational AI, and Python/SQL solutions for advertiser retention, segmentation, inventory performance, and entity resolution.

  1. 2026Designed, built, and own the Snowflake/dbt foundation that standardizes Vistar, Place Exchange, Hivestack DDA, Hivestack Programmatic, and ViOOH data for production revenue and delivery reporting in Sigma.
  2. 2025Developed churn-risk models, K-means customer segments, and reviewable Python/SQL advertiser mappings.
  3. 2024Delivered and supported a generative AI application for editable executive financial communications, then restored its output by tracing a production failure to stale source views and validating the cross-team correction.
  4. 2022–2023Delivered Mobile Contract Tracking to production, iterated on stakeholder enhancements and Finance reporting fixes, and completed acceptance testing for a marketing dashboard.

Business Intelligence Data Analyst (Data Architecture / Data Science)

OUTFRONT Media
July 2019 to April 2022

Built reporting foundations with Python ETL automation, dimensional models, KPI definitions, data-quality checks, and early applied data-science collaboration.

  1. March 2022Supported budget-data corrections and loading required for sales-compensation and quarterly bonus calculations.
  2. September 2021Coordinated Financial Pacing reports into production with Finance, sequencing the release and phased rollout around active reporting users.
  3. May 2021Coauthored and presented an applied machine-learning use case for advertising-inventory optimization and customer-value projection with external data-science specialists.

Education

M.S., Applied Data Science

Bay Path University

June 2025

4.0 GPA

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 and delivery reporting in Sigma.

Implementation and validation
Business problem
Five differently shaped advertising source feeds needed consistent reporting without changing established financial and delivery definitions.
My contribution
I built source transformations, unified facts and reporting 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
Validation covers date and source coverage, row counts, revenue, fees, impressions, plays, business calculations, and record-level exceptions across Vistar, Place Exchange, Hivestack DDA, Hivestack Programmatic, and ViOOH.

Daily occupancy without double-counted capacity

Built and validated daily programmatic occupancy and buy-type components at their intended reporting grains.

Implementation and validation
Business problem
Activity split across sources and buy types can multiply shared inventory-day capacity when the grains are combined.
My contribution
I built the SSP components and their integration, collaborating with a data engineer who owns the shared-capacity and charted components.
Consequential decision
We separated source activity from shared inventory-day capacity so extra activity groupings do not repeat the denominator.
Validation and result
Aggregation checks cover documented measurable populations and groupings; the completed components do not imply arbitrary-filter correctness or release of every downstream report.

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 also increase false matches.
My contribution
Built Python/SQL workflows combining name normalization, exact and fuzzy matching, retained similarity scores, confidence tiers, and exceptions for review.
Consequential decision
Exact matching resolves known names first; fuzzy matching handles remaining candidates without presenting similarity as labeled correctness.
Validation and result
Retained scores, confidence tiers, and exceptions make mapping coverage and review status visible without treating them as an accuracy measurement.

Applied modeling for retention and inventory decisions

Produced analytical outputs 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
The implementation keeps retention, segmentation, and inventory-performance questions distinct rather than presenting them as one model.
Validation and result
Outputs were reviewed as analytical decision support; no measured lift or universal adoption is attributed to them.

Restoring executive financial-email output

Restored application output after identifying stale source dependencies.

Implementation and validation
Business problem
An application that turns financial pacing data into editable executive communications stopped producing valid output.
My contribution
Traced invalid financial-email output to stale source views, coordinated the correction with the data team, and validated the restored application output.
Consequential decision
The correction addressed the source dependency instead of masking the problem with prompt or interface changes.
Validation and result
Application output was checked after the cross-team source correction, preserving the boundary between operational support and broader application ownership.

Independent Technical Projects

Three complementary builds in forecasting, analytical interfaces, and reliable LLM application behavior

Fantasy Football Projection Pipeline

Per-position random forests use lagged player features and season-based evaluation, with predictions presented through FastAPI and Next.js.

Versioned model artifacts record the model and feature version, season split, population, metric, and causal trailing-mean baseline. Forecast evaluation remains separate from the GMM/PCA draft-tier component.

PythonRandom forestFastAPINext.jsGMM / PCA

SQL Genius AI | SQL Analytics Playground

A browser-based SQLite playground for synthetic sample data with schema inspection, editable SQL, explicit user-controlled execution, bounded previews, and CSV export.

Reviewed-template intent matching and conservative schema fallbacks assist query drafting. Read-only checks narrow what the interface will execute; they are not a general-purpose security or SQL-correctness guarantee.

TypeScriptNext.jsSQLiteSchema inspection

AI Chat System | Multi-Provider LLM Gateway

A FastAPI and Next.js chat system with SSE streaming, response caching, provider failover, structured errors, and request budgets.

Per-request and session telemetry make latency and estimated API cost observable. Semantic-cache support is an implementation capability, not a claim that semantic matching is enabled on every deployment.

PythonFastAPINext.jsSSECaching

Additional work

NBA Performance Forecasting

Player-stat forecasting work with engineered features, time-aware evaluation routines, and a FastAPI presentation layer.

Time-aware evaluation routines remain separate from the FastAPI presentation layer, keeping model analysis distinct from interface behavior.

Source code

Document Retrieval System

A document-processing and retrieval codebase covering document lifecycle, chunking, keyword and vector retrieval, reranking, citation checking, and evaluation routines.

Pipeline tests exercise retrieval and citation behavior while optional hosted stages remain configuration-dependent.

Source code

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 forestsRegressionK-meansEntity resolutionFeature engineeringTime-aware evaluationBaseline comparison

Applied AI and applications

FastAPINext.jsLLM APIsRetrievalStreamingCachingTelemetry

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 production data products

5 sources

Unified for reporting

Advertising-platform data modeled in Snowflake/dbt for production Sigma reporting

Decision support

Retention and inventory

Models, segments, mappings, and peer comparisons built to surface analytical priorities

Output restored

Operational AI recovery

Stale source dependencies diagnosed, corrected with collaborators, and validated

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 Bratkovics. Built with Next.js, TypeScript, and Tailwind CSS.