← All work

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

Fig. 1: Day 2: both agents start with one 5×5 plot, 3,000 coins and a handful of wheat (my farm is on the left)
Fig. 2: Day 16: three quadrants bought, crops and livestock running, hired hands at work, and the town now full of shops driving demand
Fig. 3: Day 30, final turn: a win by 156 coins, 102,602 vs 102,446, after selling down the stock for the endgame

click any figure to enlarge ↗

What I did

  1. 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. 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. 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. 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. 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 →