Turning complex datainto clear growthstrategies.

Data analytics and ecommerce for modern brands. MBA in data analytics, in progress. Building a portfolio of data engineering work, shipping projects as they're done.

01 /about

Where data meets creative strategy.

I'm a data analytics and ecommerce professional with a passion for turning complex datasets into clear, actionable strategies. Currently pursuing my MBA with a concentration in Data Analytics, I bring a blend of analytical rigor and creative thinking to every project.

With roots in Seal Beach, California, I've built my career at the intersection of data science and digital commerce, helping brands scale smarter, not just bigger. From inventory optimization to customer behavior analysis, I love uncovering the stories hidden in the numbers. Sports girly at heart: if it's not money analytics, it's sports stats.

Outside of work, I'm a Southern California native and never too far from the ocean. Most days you'll find me with my red merle Australian Shepherd, River, my kids, and a half-formed plan, usually involving trails, beaches, or both.

currently
Ecommerce Director
studying
MBA, Data Analytics
based
Huntington Beach, CA
focus
Data engineering on AWS + Databricks
River, a red merle Australian Shepherd
River
chief morale officer
02 /what I do

Three things I'm good at.

01 / Data Analytics

Turning raw data into decisions.

Statistical analysis, visualization, and predictive modeling. Making the complex beautifully simple, and actionable.

02 / Ecommerce Strategy

Scaling online brands with intention.

Product management, inventory systems, conversion optimization, and customer lifecycle strategy. Growth that holds up.

03 / Business Intelligence

Dashboards people actually use.

Reports and forecasting models that empower teams to make confident, data-backed decisions at every level.

03 /projects

In progress, more shipping soon

Built for portfolio purposes. The data shown is synthetic or sourced from public data, for demonstration purposes only. Any projects for clients or employers remain private.

Project 01

Stock Market Analytics Pipeline

End-to-end cloud data pipeline pulling live stock data, processing it through AI, and visualizing trends in a Delta Lake data lakehouse.

Why this oneStock analytics is the classic first-portfolio project. This one goes further: it's wired on production cloud infrastructure end-to-end, uses an LLM (Claude via AWS Bedrock) for the analysis layer, and stores data in a real lakehouse with ACID transactions, not a local CSV.

Data Engineering AWS Databricks Python Delta Lake
View case study+
Monthly stock price trends from the Databricks Delta Lake table.
Databricks SQL trend output
01 / ingestion

Data Ingestion

Python pulls 6 months of daily price data for AAPL, TSLA, AMZN, GOOGL, MSFT via Yahoo Finance API. Cleaned, normalized, uploaded to S3 as structured CSV.

02 / serverless AI

Serverless AI Analysis

Lambda triggers on new S3 data. Reads CSV, sends to Claude via AWS Bedrock for pattern analysis, writes AI-generated insights back to S3.

03 / storage

Delta Lake Storage

Data loaded into Databricks and saved as a Delta Lake table with ACID transactions, schema enforcement, and time travel. Every version recoverable.

04 / analytics

SQL Analytics & Viz

Databricks SQL surfaces monthly trends, price ranges, best and worst trading days, year-over-year comparisons. Rendered as interactive dashboards.

Python boto3 · pandas · yfinance
AWS S3 cloud object storage
AWS Lambda serverless compute
AWS Bedrock Claude AI integration
Databricks lakehouse analytics
Delta Lake versioned data storage
Yahoo Finance API Python S3 Lambda + Bedrock Databricks Delta Lake Dashboard
Project 02

Customer Lifetime Value Model

Probabilistic CLV predictions for a synthetic golf ecommerce retailer. Turned 65,000 transactions into per-customer 12-month revenue forecasts using RFM features and BG/NBD + Gamma-Gamma models.

Predictive Modeling Databricks Python SQL Delta Lake
View case study+
Predicted customer lifetime value by segment.
CLV by segment
01 / synthesis

Synthetic Data Generation

Built a realistic golf ecommerce dataset in Python. 65,000 transactions across 5,000 customers and six behavioral segments, with seasonality, churn patterns, and upgrade cycles baked in.

02 / storage

Delta Lake Bronze Layer

Raw transactions uploaded to S3 and loaded into Databricks as a Delta table with schema enforcement, time travel, and ACID transactions.

03 / features

RFM Feature Engineering

SQL aggregations turn raw orders into per-customer Recency, Frequency, and Monetary features. Silver layer table, one row per customer, ready for modeling.

04 / modeling

BG/NBD + Gamma-Gamma

Industry-standard probabilistic CLV models. BG/NBD predicts future transaction counts. Gamma-Gamma predicts order value. Combined, they output expected 12-month revenue per customer.

11.7x

Tour Enthusiasts outspend Weekend Golfers by 11.7x in predicted lifetime value. Same acquisition cost, dramatically different returns.

70%

The top two segments drive 70% of forecasted revenue despite being only 32% of the customer base.

$3.1M

Predicted next-12-month revenue, calculated one customer at a time. Drives acquisition budget and retention priorities.

Top 10 predicted CLV customers, historical spend vs predicted next 12 months.
Top 10 predicted CLV customers
Python pandas · numpy · lifetimes
AWS S3 raw data storage
Databricks SQL · notebooks · Spark
Delta Lake medallion architecture
BG/NBD purchase frequency model
Gamma-Gamma monetary value model
Python generator S3 (Bronze) Delta Lake SQL (Silver RFM) CLV Model Predictions (Gold)
Project 03

Lululemon DCF Valuation Pipeline

A personal 5-year DCF valuation of Lululemon Athletica (NASDAQ: LULU), pulled from live SEC EDGAR filings and current market data. Built as a real data engineering pipeline through medallion architecture, SQL window functions, and a reverse DCF that backs out what the market is pricing in.

Why this oneThe valuation could be done in Excel in an afternoon. The portfolio value is in the pipeline: Lambda-shaped Python pulling raw XBRL from SEC, normalized through bronze/silver/gold layers, queried with SQL window functions in DuckDB (portable to Databricks SQL warehouse), then valued with a base case + bear/bull sensitivity. Live yfinance integration anchors the reverse DCF to the current market price.

Data Engineering Python SQL AWS Lambda DuckDB DCF Valuation
View case study+
Lululemon revenue: post-COVID era history with five-year base-case projection.
Post-COVID revenue + 5-yr base case
01 / ingest

SEC EDGAR → Bronze

Python pulls every XBRL fact Lululemon has ever reported from SEC EDGAR in a single API call. Filtered to the 25 line items the model needs, landed in S3 Bronze. Lambda-ready for scheduled refreshes.

02 / parse

XBRL → Silver Parquet

Pandas parser normalizes XBRL tag variants into clean column names. Handles old vs. new accounting standards, so the same parser works for Nike, Adidas, and Under Armour without edits. Output: 16 years of typed financial data as Parquet.

03 / aggregate

SQL Window Functions → Gold

DuckDB runs SQL window functions over the silver table to compute YoY growth, 5-year rolling CAGR, margin compression vs peak, and FCF conversion. Same SQL ports to a Databricks SQL warehouse with a one-line connection swap.

04 / value

DCF + Reverse DCF

5-year free cash flow projection, discounted at the cost of equity, with a Gordon-growth terminal value. Reverse DCF backs out the growth, margin, and discount rate that the current market price implies.

05 / scenarios

Bear / Base / Bull

Three sets of growth and margin assumptions run through the same model. Output is a side-by-side valuation, with explicit assumptions instead of hidden ones.

+34%

Base-case intrinsic value of $179 per share against a $134 market price. A meaningful discount if you believe growth recovers even partially.

-4%

Implied revenue growth at the current price. The market is pricing in five years of revenue decline, alongside margin compression and a distressed-company discount rate.

$0

Long-term debt on the balance sheet. Lululemon runs net cash, so the model simplifies to equity-only valuation with operating leases as the only meaningful obligation.

Reverse DCF: implied revenue CAGR, operating margin, and WACC vs historical actuals.
What the market is pricing in
LULU 5-year FCFF projection under three scenarios.
FCFF: bear, base, bull
Python pandas · numpy · scipy · matplotlib
SEC EDGAR XBRL companyfacts API
AWS Lambda scheduled ingest
AWS S3 medallion bronze / silver / gold
DuckDB SQL window functions, Databricks-portable
scipy.optimize brentq root finding for reverse DCF
yfinance live price & diluted shares
SEC EDGAR Lambda S3 Bronze Silver Parquet DuckDB Gold DCF + Reverse Charts
Project 04quick build

Multi-Channel Reorder Forecasting System

A focused, quick-to-build forecasting and decision tool for a multi-channel DTC wellness brand. A brief KPI overview frames the operating context, revenue, units, top movers, and a five-state reorder engine turns it into a concrete daily action list.

Why this oneTight scope, shipped fast. The math behind reorder timing usually lives in a spreadsheet and breaks the moment a SKU goes seasonal or a second sales channel is added. This replaces that. A recency-weighted velocity model handles trend and noise. An explicit five-state machine (reorder_now / soon / healthy / slow / dead, plus an on_order override) makes every decision auditable. A brief KPI overview at the top, revenue, units, average daily sales, SKUs in scope, reorder count, gives the operator the surrounding context they need to trust each recommendation. Underneath: two sales channels reconciled into a single per-SKU view, with vendor lead times and outstanding POs joined in. Built as a Streamlit application, not a notebook.

Forecasting Python Streamlit PostgreSQL Shopify API Square API
View case study+
Overview dashboard showing KPI tiles for revenue, units sold, average daily revenue, SKUs in scope, and reorder count, with a sales trend line and category breakdown.
Overview, the operating context
01 / ingest

Multi-Channel Sales Sync

Python pulls daily orders from Shopify Admin API and Square API, normalizes both into a single (sku, date, units, revenue) schema with a source column, and stores 365 days of rolling history.

02 / store

Normalized Postgres Schema

Products, vendors, settings, purchase log, and forecast log live in a normalized schema with foreign keys and indexes. Schema enforces that every SKU has a vendor, lead time, MOQ, and unit cost, making downstream math defensible.

03 / forecast

Weighted Rolling Velocity

90-day rolling-average sales velocity per SKU, with linear recency weighting and an optional per-SKU growth factor. Handles cold-start and dead SKUs as explicit cases, not silent zeros.

04 / decide

Five-State Reorder Engine

Days of supply is on_hand divided by velocity. Compared against target cover days plus vendor lead time to produce one of reorder_now, reorder_soon, healthy, slow, or dead. Outstanding POs override to on_order. Recommended quantity respects vendor MOQ.

05 / surface

Streamlit Operator App

Six-page application: Overview KPIs, Reorder Alerts, All Products, Forecast Detail per SKU, Purchase Log, Vendors. Filters cascade across pages. Writes a forecast_log row on every refresh for historical audit.

Every recommendation can be opened to its inputs. The Forecast Detail view shows the velocity model, the rolling window, the days-of-supply calculation, and the recommended quantity formula side by side. Operators question a number and get the answer in one click, no spreadsheet archaeology required.

Forecast Detail page showing per-SKU sales history, forecast projection, KPI tiles, and the math breakdown of velocity and recommended quantity.
Forecast Detail, with the math breakdown expanded
12 / 200

SKUs flagged reorder_now this cycle. A tight, prioritized morning queue lets operators act in minutes instead of auditing the full 200-SKU catalog by hand.

9.0×

Velocity spread between top-quartile and bottom-quartile SKUs. The recency-weighted model captures this gap so fast-movers reorder ahead of slow-movers, even when their on-hand counts look the same.

$282K

Recommended purchase-order value surfaced this cycle, grouped by vendor with MOQ already applied. Operators copy the per-vendor list straight into the PO email.

Reorder Alerts page showing per-SKU status dots, days of supply, recommended quantity, and PO value, filtered to reorder_now and reorder_soon rows.
Reorder Alerts, the morning action queue
Python pandas · numpy · requests
Streamlit multi-page operator app
PostgreSQL normalized schema · indexes
Shopify Admin API orders · inventory · products
Square API orders · payments
Altair interactive charts
Shopify API + Square API daily_sales Velocity Forecast Reorder Engine Postgres Streamlit Dashboard
planned
Vail Resorts Monte Carlo Valuation
2026 · Q3
planned
Nike Inventory & Working Capital Forecast
2026 · Q3
planned
Moneyball Alpha Decay
2026 · Q4
04 /experience

The journey.

early career

Action Sports & Early Ecommerce

MMA Gear · Action Sports

Started at an MMA gear manufacturer selling into Tillys, moved to an MMA startup, then joined a small ecommerce team at a 7-figure MMA gear company back when ecommerce was in its infancy. Also worked on the creative side for action-sports brands that sold into Tillys, Pac Sun, and major department stores.

mid-career

Data Management

School State Compliance

A slight detour into education, managing data and ensuring state compliance for schools in California.

scale-up

Automotive & Home/Garden

Ecommerce Strategy

Led ecommerce and data initiatives in automotive and Home, Lawn & Garden, managing complex catalogs and varied vendor requirements.

independent

Consulting

Freelance Strategy & Analytics

Provided strategy, data management, and operational expertise to bicycle companies, tattoo shops, events, and other independent businesses throughout my career.

05 /work history

Brands I've worked with.

Tapout Caterpillar Ingersoll Rand Throwdown RVCA HomeDepot.com Lowes.com Amazon.com Walmart.com Tillys Famous Stars & Straps Target.com Macys.com Punishment Athletics Orange County Customs

past experience, current direct affiliation may not apply

06 /toolbox

Tech & expertise.

data analysis data cleaning forecasting finance sales strategy product info mgmt retail media Criteo Plytix Channel Advisor Go Flow Mirakl Python SQL Excel Adobe Suite AWS new AWS Lambda new AWS Bedrock new Databricks new Delta Lake new git new
07 /credentials

Education & certifications.

In Progress · 2027

Master's

Master of Business Administration (MBA)
Data Analytics Concentration
Louisiana State University

Bachelor's

Data Analytics & Finance
Completed

Associate's

Computer Science & Graphic Design
Completed
Google Data Analytics Professional Certificate
IBM Data Analyst Professional Certificate
IBM Data Science Professional Certificate
AWS Certified Cloud Practitioner In progress
AWS Certified Solutions Architect Associate In progress
AWS Machine Learning Foundations In progress

* Also certified in personal training and nutrition.

08 / get in touch

Say hi.

Want to talk data, ecommerce, or just nerd out about analytics? I'm always down.