Using Claude Code to Build a Satellite Image Analysis Pipeline for Retail Predictions

Project Overview
A developer experimented with using Claude Code to replicate hedge fund satellite imagery analysis techniques that reportedly yield 4-5% returns around earnings announcements. The goal was to see if free satellite data could approximate the $100K+/year high-resolution data used by professional funds.
Technical Implementation
The pipeline analyzes parking lot occupancy for three retailers with known Summer 2025 earnings outcomes: Walmart (missed), Target (missed), and Costco (beat). The developer selected 10 stores from each retailer (30 total) in the US Sunbelt to maximize cloud-free imagery.
The project structure includes:
orchestrator- Main controller that runs the full pipeline per retailer setskills/directory with specialized modules:fetch-satellite-imagery- Pulls Sentinel-2 optical + Sentinel-1 radar via Google Earth Enginequery-parking-boundaries- Fetches parking lot polygons from OpenStreetMapsubtract-building-footprints- Removes building roofs from parking lot masksmask-vegetation- Applies NDVI filtering to exclude grass/treescalculate-occupancy- Computes brightness + NIR ratio → occupancy score per pixelnormalize-per-store- 95th-percentile baseline so each store compared to its own "empty"compute-yoy-change- Year-over-year % change in occupancy per storealpha-adjustment- Subtracts group mean to isolate each retailer's relative signalrun-statistical-tests- Permutation tests (10K iterations), binomial tests, bootstrap resampling
sub-agents/for iterative refinement based on results:optical-analysis- Sentinel-2 visible + NIR bandsradar-analysis- Sentinel-1 SAR (metal reflects microwaves, asphalt doesn't)vision-scoring- Feed satellite thumbnails to Claude for direct occupancy prediction
How Claude Code Was Used
Claude wrote 35+ Python scripts for the entire pipeline, including statistical analysis, polygon refinement logic, and video production tooling. The development involved multiple iteration cycles where Claude would analyze results, identify issues, and propose fixes.
Key development stages:
Stage 1 (Data Acquisition): Claude wrote Google Earth Engine API calls to pull Sentinel-2 imagery, handled cloud masking, extracted spectral bands, and exported to CSV. When initial bounding box approach was noisy, Claude suggested querying OpenStreetMap for actual parking lot polygons and subtracting building footprints.
Stage 2 (Occupancy Calculation): Claude designed the occupancy formula combining visible brightness and near-infrared reflectance, recognizing that cars and asphalt reflect light differently across wavelengths. It implemented per-store normalization so each store is compared against its own baseline.
Stage 3 (Radar Pivot): When optical results came back as noise (1/3 correct), Claude built the SAR pipeline from scratch by pulling Sentinel-1 radar data and implementing alpha-adjusted normalization to isolate each retailer's relative signal.
Stage 4 (Claude Vision Experiment): The developer generated 5,955 thumbnails and fed them to Claude for direct occupancy prediction scoring.
Technical Constraints
The experiment used 10m resolution Sentinel data, compared to the 30cm/pixel imagery used by Berkeley researchers. At 10m resolution, one car is just 1/12th of a pixel, whereas at 30cm resolution, one car is about 80 pixels. The hypothesis was that even at 10m resolution, full lots should look spectrally different from empty ones.
📖 Read the full source: r/ClaudeAI
👀 See Also

Challenges and Lessons from Developing an ML Trading System with Claude
Developing a complex ML trading system using Claude Opus 4.5 revealed integration issues with multiple ML engines, emphasizing the importance of thorough verification during the development process.

UPSC StatsBuddy Bot: Telegram Interface for Indian Government Data via Claude AI
A developer built a Telegram bot called UPSC StatsBuddy that connects to India's MoSPI MCP server, using Claude AI to transform complex government datasets into clear, citeable answers for UPSC aspirants in under 30 hours.

Mesh Architecture for AI Agents: Client Isolation and Cross-Project Coordination
A developer running a micro-agency describes a mesh architecture where each client gets specialized AI agents that communicate via markdown files, enabling domain expertise, cross-project coordination, and client isolation across 44 projects and 14 organizations.

Self-hosting OpenClaw for Slack: Three failure modes and a managed alternative
A developer documented three failed attempts at self-hosting OpenClaw for Slack, encountering WebSocket disconnections, API outage handling issues, and silent token rotation failures before switching to SlackClaw.ai, a managed service.