2026
Kaggle, Machine Learning
KaggricultureAutonomous Farming Agent
An autonomous agent that runs a farm for a 30-day season and competes head-to-head against other agents in a dynamic market. It finished 1,656th of 10,148 teams (top 17%) in Kaggle's simulation competition.
In numbers
- 1,656 / 10,148
- final leaderboard, top 17%
- Top 17%
- of 10,148 teams on the final leaderboard
- 1,658
- peak skill rating (claude7 agent)
- 3k → 102.6k
- coins in a sample win, from the 3,000 starting stake
Screenshots
click any figure to enlarge ↗
What I did
- 1.
Built an agent for a turn-based farming duel: 720 turns across a 30-day season, one action per worker per turn, and the winner is whoever has the most coins at the end.
- 2.
Planned the whole economy each turn: which crops and animals to run, when to water, feed, fertilise and harvest, when to buy new land ($1k / $2k / $4k), and how many farm hands to hire at Fibonacci-rising daily wages.
- 3.
Traded into a market where prices react to every unit sold and to town demand that grows as new shops unlock, so timing and bundling sales mattered as much as production.
- 4.
Iterated through agent versions on the live ladder; the final pair (claude6 and claude7) added a model of the opponent's play and an adaptive endgame look-ahead for when to sell remaining stock.
- 5.
Finished 1,656th of 10,148 teams (top 17%) in a Bradley-Terry tournament over the final weeks of games, with a peak rating of 1,658.
Notes
Kaggriculture is a simulation competition: there's no dataset, just an environment. Two agents each run their own farm, and every decision feeds a shared, reactive market.
What makes it hard
- –Long horizons: land, animals and slow crops like strawberries pay off over days, but the season is only 30 days long.
- –A moving market: selling 10 units drops the price on each one, premium goods crash to $1 on a glut, and town shops unlock at random, shifting demand mid-game.
- –Hard limits: plants become weeds and animals escape if neglected for two days, the shed holds only 100 items, and each worker gets one action per turn.
- –Only wins count: ratings move on win, loss or draw, not margin. So the endgame (when to stop producing and sell everything) decides close games like the 156-coin win shown here.
Built with
Python · Kaggle Environments · Simulation · Opponent modelling · Look-ahead search
Next project
RSNA Knee Abnormality Detection →