▶ Full Post Text
Hi all,
Some of you may remember my previous experiment trying to transform [Anthropic's Claude Opus into Buffett](https://www.reddit.com/r/ValueInvesting/comments/1r994rg/i_fed_48_years_of_buffetts_shareholder_letters_to/) by feeding it his shareholder letters and asking it to predict stocks during the COVID crash.
Today I'm back with another experiment that I hope will have valuable insights for the community here.
I came across a paper from researchers at Berkeley's Haas School of Business showing that year-over-year changes in parking lot car counts predicted quarterly retail earnings \[1\]. They found that trading on this signal yielded 4 - 5% abnormal returns in the 3-day window around announcements. I also learned this is a popular strategy used by hedge funds, and they pay a pretty penny for the satellite data required to make such predictions.
With the power of Claude Code and Opus 4.6 in our hands, **I wanted to see how close retail investors like us could get to replicating this strategy but with free satellite imagery.**
As always, if you prefer to watch the experiment, I’ve uploaded the video to my channel: [https://www.youtube.com/watch?v=rLBsODjWhog](https://www.youtube.com/watch?v=rLBsODjWhog)
**Background**
Before diving into the experiment itself, I wanted to share a few thoughts. So far I've published five similar experiments ranging from Buffett predictions to CEO earnings call lie detection to prediction markets . Before running this one, I asked myself: what's the point ultimately? Why run experiments like these? The answer always comes back to helping retail investors like us figure out if there are novel ways to gain alpha against larger institutions (i.e. hedge funds) using new technology (i.e. generative AI and language models). As someone with minimal finance background but solid engineering experience, I thought I could bring some fresh ideas to this game and learn alongside all of you in the community. Enough preamble, let's get into the experiment!
**The Setup**
For this experiment, initially I asked Claude Code to pick three retailers with known Summer 2025 earnings outcomes. It picked Walmart (missed), Target (missed), and Costco (beat). I then asked it to select 10 stores from each retailer (30 total). It suggested picking stores located in the US Sunbelt (Arizona, Nevada, Texas, and Southern California) to maximize cloud-free imagery. The goal was to compare parking lot "fullness" between May-August 2024 and May-August 2025.
For the data, Claude used ESA's Sentinel-2 (optical, 10m/pixel) via [Google Earth Engine](https://earthengine.google.com/), all completely free. Parking lot boundaries came from OpenStreetMap, with building footprints subtracted and vegetation masked using something called NDVI.
Now here's the catch. The Berkeley researchers used 30cm/pixel imagery across 67,000 stores. At that resolution, one car takes up about 80 pixels, this means you can literally count vehicles. At my 10m resolution, one car is just 1/12th of a pixel. My hypothesis was that even at 10m, full lots should look spectrally different from empty ones.
**Method 1: Optical Band Math**
I measured spectral changes in parking lot pixels. Core hypothesis here being that cars and asphalt reflect light differently across multiple wavelengths. I then applied year-over-year normalization per store.
**Result: 1 out of 3 correct.**
| Retailer | Fullness Change | Actual Earnings | Match? |
|----------|-----------------|-----------------|--------|
| Walmart | +30% | Missed | ✗ |
| Costco | +18% | Beat | ✓ |
| Target | +3% | Missed | ✗ |
Only Costco's direction matched actual earnings, which is essentially noise.
**Method 2: Radar (SAR)**
After the optical results came back as noise, I went back to the drawing board. I asked Claude Code to go digging into what else Sentinel offered and stumbled upon Sentinel-1, a completely different type of satellite that uses radar instead of optical imagery. The more I read about it, the more it made sense. Radar doesn't care about clouds or lighting conditions, and more importantly, metal is basically a mirror for microwaves while asphalt just absorbs them. If there was any hope of detecting cars at this resolution, radar felt like the better bet.
I asked Claude to switch to Sentinel-1 radar. The logic was that metal (cars) strongly reflects microwaves, while asphalt doesn't. I applied an alpha adjustment by subtracting the group average year-over-year change to isolate each retailer's relative signal.
**Result on 3 retailers: 3 out of 3 correct.**
| Retailer | Signal vs. Average| Actual Earnings | Match? |
|----------|-------------------|-----------------|--------|
| Costco | Above average | Beat | ✓ |
| Walmart | Below average | Missed | ✓ |
| Target | Below average | Missed | ✓ |
**This was genuinely exciting!**
**Method 3: Scale It**
Of course, 3 out of 3 on just three retailers could easily be luck. To know if I'd found a real signal or just gotten lucky, I needed to scale up the test.
I asked Claude to add seven more retailers in Home Depot, Lowe's, Best Buy, Kroger, Kohl's, Dick's, and Academy Sports. This brought the sample to 100 stores total and 5,260 radar Observations.
After running the experiment again, the result was **5 out of 10 successful predictions**, which was effectively a coin flip. The perfect 3/3 was statistical noise that disappeared at scale.
**What I Learned**
So where did this leave me? The alpha adjustment, which was subtracting the group average to isolate each retailer's relative signal, is conceptually sound. But with such a small peer group, it got noisy fast. It doesn't control for geographic differences (an Arizona Walmart and a Texas Costco face different weather and economic conditions), and the retailers are correlated anyway since they're competing for the same shoppers.
But the real takeaway was that the moat here isn't the algorithm, it's the data. The Berkeley researchers used 67,000 stores at 30cm resolution. I used 100 stores at 10m, which is a 33x resolution gap and a 670x scale gap. I believe that's where the actual edge lives and generative AI isn’t going to get us much closer to being competitive with free data that is available.
Full video walkthrough of the experiment if you're curious: [https://www.youtube.com/watch?v=rLBsODjWhog](https://www.youtube.com/watch?v=rLBsODjWhog)
Let me know if this was genuinely a useful experiment for you and/or if you have tried something similar before!
\----------
\[1\] Paper: [https://papers.ssrn.com/sol3/papers.cfm?abstract\_id=3222741](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3222741)