ValleyMathProduction planner
Menu
All toolsFull plannerKeg calculatorJar calculatorDehydratorCompare machinesMethodologyValidation

Public calculation checks

Reproduce the numbers before trusting the planner

These are concrete inputs, hand-worked formulas, expected values, and edge cases. The page calls the same calculation functions as the tools, and the expected values are also asserted in the automated test suite.

Last updated August 27, 2026
Current build54/54published checks match

What this page proves — and what it does not

Passing examples show that the current build reproduces these named formulas and boundaries. They do not prove that every Stardew Valley item or mod is covered. The supported scope remains unmodded 1.6.x Kegs, Preserves Jars, and Dehydrators listed on the methodology page.

If a game update changes a price, recipe, profession rule, or processing time, the corresponding expected value must change here and in the test before ValleyMath can claim support for that update.

Expected value vs current result

Formula and scheduling cases

01

Ancient Fruit Wine without professions

One normal Ancient Fruit is compared with one completed Keg batch.

PASS

Hand calculation

  1. Raw: 550g
  2. Wine: 3 × 550g = 1,650g
  3. Extra: 1,650g − 550g = 1,100g

Current ValleyMath output

Raw unit
550g
Wine batch
1,650g
Extra profit
1,100g

Why this boundary matters: This is the clean base-formula check before quality or profession bonuses are added.

Game-data references: Stardew Valley Wiki — Artisan Goods

02

Blueberry Jelly fixed-price term

One normal Blueberry is processed in a Preserves Jar without professions.

PASS

Hand calculation

  1. Raw: 50g
  2. Jelly: (2 × 50g) + 50g = 150g
  3. Extra: 150g − 50g = 100g

Current ValleyMath output

Raw unit
50g
Jelly batch
150g
Extra profit
100g

Why this boundary matters: The Jar formula must keep its fixed 50g term; dropping it changes low-value crop rankings.

Game-data references: Stardew Valley Wiki — Artisan Goods

03

Artisan path keeps the Tiller raw-crop bonus

Five normal Starfruit become one Dried Fruit batch with the Artisan profession selected.

PASS

Hand calculation

  1. Raw Starfruit: floor(750g × 1.10) = 825g each
  2. Raw opportunity cost: 5 × 825g = 4,125g
  3. Dried Fruit: floor(((7.5 × 750g) + 25g) × 1.40) = 7,910g
  4. Extra: 7,910g − 4,125g = 3,785g

Current ValleyMath output

Raw unit
825g
Raw five-item batch
4,125g
Dried Fruit batch
7,910g
Extra profit
3,785g

Why this boundary matters: Artisan is reached through Tiller. Ignoring the inherited 10% raw-crop value overstates the gain from processing.

Game-data references: Stardew Valley Wiki — Farming professions · Stardew Valley Wiki — Dehydrator

04

Hops opportunity cost on the Artisan path

One normal Hops becomes Pale Ale with the Artisan profession selected.

PASS

Hand calculation

  1. Raw Hops: floor(25g × 1.10) = 27g
  2. Pale Ale: 300g × 1.40 = 420g
  3. Extra: 420g − 27g = 393g

Current ValleyMath output

Raw Hops
27g
Pale Ale
420g
Extra profit
393g

Why this boundary matters: A two-gold rounding difference per Hops becomes material across a large summer harvest.

Game-data references: Stardew Valley Wiki — Farming professions · Stardew Valley Wiki — Artisan Goods

05

Coffee Bean and Coffee profession exceptions

Five normal Coffee Beans become one Coffee while Artisan is selected.

PASS

Hand calculation

  1. Raw Beans: 5 × 15g = 75g
  2. Coffee: 150g
  3. Extra: 150g − 75g = 75g

Current ValleyMath output

Raw five-bean batch
75g
Coffee batch
150g
Extra profit
75g

Why this boundary matters: Coffee Beans do not receive Tiller and Coffee does not receive Artisan, so applying either bonus would be incorrect.

Game-data references: Stardew Valley Wiki — Coffee Bean · Stardew Valley Wiki — Coffee

06

Raisins consume five Grapes

Five normal Grapes become one Raisins batch without professions.

PASS

Hand calculation

  1. Raw Grapes: 5 × 80g = 400g
  2. Raisins: 600g
  3. Extra: 600g − 400g = 200g

Current ValleyMath output

Raw five-Grape batch
400g
Raisins batch
600g
Extra profit
200g

Why this boundary matters: Treating Raisins as a one-Grape output would create five times too much revenue.

Game-data references: Stardew Valley Wiki — Dehydrator

07

Twelve Blueberries leave a two-fruit remainder

One Dehydrator has seven mornings to process 12 normal Blueberries.

PASS

Hand calculation

  1. 12 fruit = 2 complete five-fruit batches + 2 raw fruit
  2. Processed revenue: 2 × 400g = 800g
  3. Final value: 800g + (2 × 50g) = 900g

Current ValleyMath output

Processed fruit
10
Raw remainder
2
Final value
900g
Extra profit
300g

Why this boundary matters: Incomplete batches must stay visible as raw inventory instead of being rounded up or disappearing.

Game-data references: Stardew Valley Wiki — Dehydrator · Stardew Valley Wiki — Artisan Goods

08

Caviar receives Artisan; Roe stays raw-priced

One Sturgeon Roe becomes Caviar with the Artisan profession selected.

PASS

Hand calculation

  1. Raw Sturgeon Roe: 130g
  2. Caviar: 500g × 1.40 = 700g
  3. Extra: 700g − 130g = 570g

Current ValleyMath output

Raw Roe
130g
Caviar
700g
Extra profit
570g

Why this boundary matters: The profession applies to the finished Caviar, not to its raw Roe input.

Game-data references: Stardew Valley Wiki — Caviar · Stardew Valley Wiki — Farming professions

09

Fairy Rose Honey should not become Mead for profit

One Fairy Rose Honey is compared with Mead while Artisan is selected.

PASS

Hand calculation

  1. Raw Honey: 680g × 1.40 = 952g
  2. Mead: 300g × 1.40 = 420g
  3. Extra: 420g − 952g = −532g

Current ValleyMath output

Raw Honey
952g
Mead
420g
Route loss
-532g
Optimizer processed units
0

Why this boundary matters: A gross-output optimizer would process this item even though it destroys value. ValleyMath must reject the route.

Game-data references: Stardew Valley Wiki — Honey · Stardew Valley Wiki — Artisan Goods

10

Input quality changes opportunity cost, not Wine output

Gold and Iridium Starfruit are compared with the same 2,250g Wine output without professions.

PASS

Hand calculation

  1. Gold raw: 750g × 1.5 = 1,125g; extra = 1,125g
  2. Iridium raw: 750g × 2 = 1,500g; extra = 750g

Current ValleyMath output

Gold raw unit
1,125g
Gold extra profit
1,125g
Iridium raw unit
1,500g
Iridium extra profit
750g

Why this boundary matters: Processing higher-quality fruit can add less value because the finished Wine does not preserve crop quality.

Game-data references: Stardew Valley Wiki — Artisan Goods

11

Forage fruit does not receive the Tiller crop bonus

One normal Spice Berry is sold raw with Tiller selected.

PASS

Hand calculation

  1. Spice Berry raw value remains 80g
  2. Tiller crop multiplier is not applied

Current ValleyMath output

Tiller raw value
80g
No-profession raw value
80g

Why this boundary matters: The catalog distinguishes crop fruit from forage fruit instead of applying a blanket bonus to every fruit-like item.

Game-data references: Stardew Valley Wiki — Farming professions

12

Reserved inventory stays outside the decision

Ten Ancient Fruit include three kept units; one Keg has seven mornings.

PASS

Hand calculation

  1. Processable baseline: 7 × 550g = 3,850g
  2. One Wine finishes; six processable fruit remain raw
  3. Reserved value: 3 × 550g = 1,650g

Current ValleyMath output

Reserved units
3
Reserved value
1,650g
Processable raw baseline
3,850g
Extra profit
1,100g

Why this boundary matters: Bundle, seed, gift, or cooking stock should not inflate backlog or be silently processed.

Game-data references: Stardew Valley Wiki — Artisan Goods

13

A late harvest cannot finish outside the deadline

Ancient Fruit arrives on Day 1, but only seven mornings remain for a seven-morning Wine cycle.

PASS

Hand calculation

  1. Earliest start: Day 1
  2. Earliest collection: Day 8
  3. Selected horizon ends at Day 7

Current ValleyMath output

Processed units
0
Backlog units
1
Extra profit
0g

Why this boundary matters: An aggregate machine-day total can look feasible while the actual arrival and finish dates are impossible.

Game-data references: Stardew Valley Wiki — Artisan Goods

14

One item cannot be assigned to two machines

One Blueberry is eligible for both a Keg and a Preserves Jar, and both machines are available.

PASS

Hand calculation

  1. Shared inventory constraint: Keg batches + Jar batches ≤ 1 Blueberry

Current ValleyMath output

Processed units
1
Allocation rows
1
Extra profit
100g

Why this boundary matters: Independent route calculators can accidentally count the same crop twice. The mixed planner cannot.

Game-data references: Stardew Valley Wiki — Artisan Goods

15

Two Kegs cannot finish three four-morning Juice jobs in seven mornings

Three normal Pumpkins compete for two empty Kegs over a seven-morning horizon.

PASS

Hand calculation

  1. Each Juice job occupies one Keg for four mornings
  2. Two Kegs × one complete cycle = two finished jobs
  3. Final value: 1,440g Juice + 320g raw Pumpkin = 1,760g

Current ValleyMath output

Plan status
optimal
Processed Pumpkins
2
Raw backlog
1
Final value
1,760g
Extra profit
800g

Why this boundary matters: Twelve aggregate machine-days would incorrectly suggest three jobs fit; real start and finish slots prove only two do.

Game-data references: Stardew Valley Wiki — Artisan Goods

16

Four fruit cannot create a five-fruit Dehydrator batch

Four normal Blueberries and one empty Dehydrator are available for seven mornings.

PASS

Hand calculation

  1. Available fruit: 4
  2. Required per batch: 5
  3. Complete batches: floor(4 ÷ 5) = 0

Current ValleyMath output

Processed units
0
Raw backlog
4
Extra profit
0g

Why this boundary matters: The planner must not invent fractional or rounded-up artisan goods.

Game-data references: Stardew Valley Wiki — Dehydrator

Try the same boundaries with your farm

Use the crop benchmark for a like-for-like machine ranking, or open the full production planner when inventory, arrival days, and machine capacity interact.