Experience Education Skills Highlights Contact ← Back to Portfolio
← Tim Elrom · Passion Project
Personal Side Project · In Progress

ValuFlow

From raw financials to full company valuation — automated.

ValuFlow is a full end-to-end financial analysis pipeline that ingests raw financial data via API, processes and structures it with Python and Pandas, stores it in a Snowflake database, runs a suite of valuation models, and exports results to a Power BI dashboard. Inspired by hands-on work with large-scale financial databases at Barclays, ValuFlow is the bridge between institutional-grade data infrastructure and independent financial research — built entirely outside of Excel.

Python Snowflake / SQL FMP API Power BI API Calls Beta Regression Anthropic Claude Full API Pipeline Financial Analysis Qualitative → Quantitative
Overall Progress Stage 3 of 7 — Active

The Architecture

How the Pipeline Works

Five interconnected layers that take a company ticker and produce a fully modeled valuation — no spreadsheet required.

📡
01 · Ingest
Pull raw financial statements via the FMP API — Income Statement, Balance Sheet, Cash Flow, price data, and treasury rates across 2,000+ companies.
FMP API · Python · Structured Ingestion
🔧
02 · Process
Clean, normalize, and structure raw data using Python and Pandas into a Snowflake-ready format — broken out by quarterly and yearly periods.
Python · Pandas · Data Normalization
🗄️
03 · Store
Upload structured data into a Snowflake database with a clean hierarchy — DB, Schema, and Tables with a master reference table for confident querying.
Snowflake · SQL · Data Warehousing
📐
04 · Model
Run a full suite of valuation models in Python — DCF variants, comps, LBO, EV/IC, bond pricing, Monte Carlo, and a proprietary composite valuation model.
Python · Financial Modeling · Valuation
📊
05 · Output
Export all model results to an interactive Power BI dashboard — filterable by company, model type, and time period. Ultimately a live web app.
Power BI · Dashboard · Web App

Build Roadmap

7 Stages to Completion

Target dates are estimates and will shift as the project evolves — semester workload, scope changes, and new directions all play a role. Stage 2, for example, pivoted significantly from its original scope as my focus and needs developed. That's intentional: this is a living project, not a fixed plan.

Stage 1 Complete Mar 15
Snowflake Data Hierarchy
Building the foundational database infrastructure — the backbone that every subsequent stage depends on.
  • DB, Schema & Table creation with a clear, scalable data organization hierarchy
  • Upload Income Statement, Balance Sheet, Cash Flow & Ratios — broken out quarterly & yearly
  • Build a master reference table for reliable cross-table querying
  • Establish a clean, bug-free upload system using FMP API
SnowflakeSQL Data ArchitectureMacroTrends
Stage 2 Complete Apr 14
Pipeline, Beta Model & Dashboard
Building a full data pipeline, a production-grade beta regression model, and an interactive dashboard — all connected end-to-end.
  • Pipeline & Data — Built a full three-schema RAW → STAGING → RESULTS pipeline in Snowflake, ingesting price, balance sheet, income statement, and treasury data from FMP across 2,000+ companies
  • Beta Model — Regression model calculating levered/unlevered beta, alpha, R², and p-value across daily, weekly, and monthly frequencies; unlevered beta via Hamada's Equation following Damodaran's Investment Valuation
  • Dashboard — Interactive Power BI dashboard (Beta v2) connected live to Snowflake, filterable by sector, industry, company, and frequency; publicly published via Power BI Premium
PythonFMP API SnowflakeBeta Regression Hamada EquationDamodaran Power BI
→ View Live Dashboard
Stage 3 Active May 1
Beta Model Analysis, Validation & Industry Context
Deepening the beta model beyond computation — validating outputs, grounding methodology in theory, and building the industry context needed to interpret results meaningfully.
  • Cross-Frequency Analysis — Analyzing beta outputs across daily, weekly, and monthly regression frequencies to identify divergence patterns and what they signal about underlying business risk
  • Backtesting — Exploring whether historical beta estimates have been predictive of forward realized volatility; stress-testing model assumptions against known market events
  • Theory-Grounded Validation — Actively reading Damodaran's Investment Valuation to anchor model design decisions in established methodology. Financial analysis is inherently open-ended — like assembling a puzzle without knowing how many pieces exist, whether some belong to a different board, or what the final picture looks like. Accuracy isn't just a number; it lives in the reasoning behind the model
  • Industry Analyses — Building sector and industry-level analyses as a complementary layer to beta outputs — understanding the business context behind the numbers is what separates a result from an insight
  • AI Commentary Layer — Integrating Anthropic Claude (Sonnet) to generate qualitative, value-relevant commentary on model outputs informed by both the quantitative results and industry context
Beta AnalysisBacktesting Frequency SensitivityDamodaran Industry AnalysisAnthropic Claude Qualitative Modeling
Stage 4 Planned Jun 26
CAPM, Credit Rating Model & WACC
Building the cost-of-capital infrastructure that underpins every discounted valuation — starting with CAPM, stress-testing its assumptions, then layering in a proprietary credit rating model and a full WACC build.
  • CAPM Model — Build a Capital Asset Pricing Model in Python pulling directly from Snowflake; derive expected returns using beta outputs from Stage 3 as a direct input
  • CAPM Limitations Analysis — Test the model against real data and document where it breaks down — single-factor assumptions, sensitivity to beta estimation method, and behavior in non-normal market conditions
  • Personal Credit Rating Model — Build a proprietary credit rating model that evaluates company creditworthiness using balance sheet and income statement data from Snowflake; outputs feed back into the beta model as a risk-adjustment layer
  • WACC Model — Construct a full Weighted Average Cost of Capital model using CAPM-derived cost of equity and credit-rating-informed cost of debt — the foundation for the DCF work in later stages
CAPMCost of Capital Credit Rating ModelWACC PythonSnowflake Risk Analysis
Stage 5 Planned Jul 10
DCF & Comparable Company Analysis
Building two foundational valuation models from first principles — then progressively integrating outputs from earlier stages to sharpen their inputs and expand their analytical depth.
  • DCF — Base Build — Construct a standalone discounted cash flow model in Python: project revenue, EBIT, NOPAT, FCF, and terminal value using Gordon Growth; derive implied share price from Snowflake financial data alone
  • DCF — Model Integration — Expand the DCF by feeding in WACC from Stage 4 as the discount rate and incorporating credit rating outputs as a risk adjustment — replacing static assumption inputs with pipeline-derived ones
  • Comps — Base Build — Build a standalone comparable company analysis model screening peer sets by sector, industry, and size; output trading multiples (EV/EBITDA, P/E, EV/Revenue) from Snowflake data
  • Comps — Model Integration — Cross-reference comps multiples against DCF implied value to identify valuation gaps and surface investment signals; layer in beta and credit rating context to qualify peer comparisons
DCFComps Trading MultiplesWACC Integration Peer AnalysisPython Snowflake
Stage 6 Planned Aug 1
Live Web Application
Transforming ValuFlow from a local pipeline into a publicly accessible web application — giving anyone the ability to explore the models, understand the methodology, and interrogate the results without ever opening a Python script.
  • App Architecture — Design and build the frontend interface (likely Streamlit) connected live to the Snowflake pipeline; users can search any covered company by ticker and receive a full output view
  • Model Transparency — Each result surfaces not just the number but the reasoning behind it — assumptions, inputs sourced from which models, and where limitations apply; the goal is a user who leaves understanding why the model says what it says
  • Interactivity — Users can adjust key assumptions (growth rate, discount rate, beta frequency) and see outputs update in real time — turning a static result into an exploratory tool
  • Public Deployment — Host the app at a live URL suitable for resume and recruiting use; access-gated to keep API costs controlled while remaining shareable
StreamlitWeb App UI/UXLive Data SnowflakePublic Deployment Model Transparency
Stage 7 Planned
Expanding the Model Suite
With the pipeline, cost-of-capital framework, and web app in place, Stage 7 is about pushing further — adding new models and analytical layers that deepen ValuFlow's valuation coverage. The exact direction will be shaped by what the earlier stages reveal, what gaps surface, and where the most interesting problems are.
  • New Valuation Frameworks — Potential candidates include LBO modeling, EV/IC analysis, Monte Carlo simulations, and bond pricing — but the priority will be determined by what the existing models are missing, not a predetermined list
  • Composite Model Exploration — The long-term goal is a single proprietary output that intelligently weights and synthesizes results across all models; Stage 7 is where that starts to take shape
  • Iteration on Existing Models — Earlier models will have exposed limitations, edge cases, and assumptions worth revisiting; this stage creates space to go back and strengthen what's already built
  • Wherever the Work Leads — Financial analysis doesn't follow a fixed roadmap, and neither does this stage
LBOMonte Carlo EV/ICComposite Model Model IterationTBD

Live Output

Beta Analysis Dashboard

Interactive Power BI dashboard connected live to Snowflake — filterable by sector, industry, company, and regression frequency. Built as the output layer for Stage 2.

View Dashboard

Model Documentation

How the Models Work

A transparent breakdown of every model built inside ValuFlow — the financial theory behind each one, how data flows through the pipeline, and exactly where to find the code.

Category 01
Beta Models
OLS regression, Hamada's Equation (Book Value & Market Value), beta distortion analysis — across all NYSE & NASDAQ tickers.
2 Published Mass Run Pending
View Models →
📐
CAPM
Cost of Capital · Stage 4
🏦
WACC
Cost of Capital · Stage 4
📊
Credit Rating
Cost of Capital · Stage 4
💰
DCF
Intrinsic Value · Stage 5
🔍
Comps
Intrinsic Value · Stage 5
View Full Methodology ↗

The Origin Story

Why I Built This

ValuFlow didn't start as a project — it started as a question: what if I could do everything I was doing in Excel, at scale, and programmatically?

🏦
The Barclays Spark
During my FP&A co-op at Best Egg / Barclays, I was exposed to SQL, Snowflake, and large-scale financial databases for the first time. Seeing how institutional data infrastructure worked — and how powerful it was — made me want to bring that same rigor to my own financial research.
📊
Beyond Excel
I'd been building comps and DCF models in Excel for years. ValuFlow is my answer to the question: what happens when you remove the spreadsheet constraint? Python, APIs, and a proper database open up scale and automation that Excel simply can't match.
⚙️
N8N & SEC Automation
Before ValuFlow, I was experimenting with N8N workflow automation to parse and digest SEC filings (10-K, 10-Q). That experience with document automation and structured data extraction became the blueprint for the pipeline's data ingestion layer.
🎯
One Unified Model
Every valuation course teaches models in isolation — DCF here, LBO there. ValuFlow's ultimate goal is a proprietary composite model that ties all of these together, weighted and contextualized, into a single institutional-grade valuation output.

Building with AI

How AI Fits Into the Build

AI plays a specific, deliberate role in ValuFlow — not as the builder, but as a resource that sharpens my work, closes knowledge gaps, and helps me stress-test my own thinking.

Core Philosophy
Jet Fuel for the Work I'm Already Doing
AI hasn't replaced the thinking behind ValuFlow — it's amplified it. I came into this project with basic SQL knowledge and walked out having designed a complex, intuitive database architecture in Snowflake. I started with foundational Python and am now parsing PDFs into structured, actionable financial data. None of that happened because AI did it for me — it happened because AI closed the gap between where my skills were and where the project needed them to be. The judgment, the financial methodology, and every architectural decision are mine. AI is jet fuel on someone who was already moving.
🗄️
Stage 1 · Complete
Snowflake Schema — Debugging & Advisory
I designed the database hierarchy — DB, schema, table structures, and the master reference table — myself. Where AI added value was in debugging unexpected upload behavior, catching edge cases in my SQL logic, and offering a second opinion on structural decisions before I committed to them. It acted as an advisor on demand, not a replacement for the design work.
SQL Debugging Schema Advisory Logic Review
🐍
Stage 2 · Complete
Python — From Coursework to Real Application
My Udemy and Drexel coursework gives me the Python and Pandas foundation — but textbook examples don't map directly to financial data pipelines. AI helps me take those concepts and apply them to ValuFlow's specific use cases: parsing inconsistent API responses, structuring financial DataFrames for Snowflake ingestion, and handling the kind of messy real-world data that courses don't cover.
Applied Python Pandas Bridging Theory to Practice
📐
Stages 3–6 · Active
Financial Modeling — Stress-Testing & Development
I build each model from the ground up — DCF variants, LBO, Monte Carlo, and ultimately a proprietary composite model. Once a basic version is functioning, I use AI to surface potential weaknesses, blind spots, and areas for growth that I then work through and develop myself. Alongside this, I'm reading classic finance and valuation books directly↗ click me — making sure the models I build are rooted in real financial theory, not just working code.
DCF · LBO · Monte Carlo Portfolio Theory
🎯
Always
What AI Doesn't Do
AI doesn't decide which models to build, how to weight them in the composite output, what assumptions are defensible, or how the pipeline should be structured end-to-end. Those decisions come from financial modeling experience, institutional exposure at Barclays, and the gaps I specifically set out to close. AI is a resource in the process — the direction is entirely mine.
Financial Judgment Model Architecture Assumption Setting
Interested in ValuFlow?

Open to conversations about the project, collaboration, or just talking finance and data.