The real cost per tray of sunflower microgreens: 6 months of production data

By Geert Warmenbol · Published 15 May 2026

The real cost per tray of sunflower microgreens: 6 months of production data

Key takeaways

Across 6 months and 94 logged sunflower tray cycles in Bangkok, the fully loaded cost per tray averaged 47.80 THB when seed, substrate, energy, water, packaging, and loss-rate amortisation were included — compared to an inputs-only estimate of 35.60 THB — Plant Mood production data, 2024.

The loss rate across 94 cycles was 11.7%, meaning roughly 1 in 9 trays produced no sellable yield. Amortising those failed trays across successful ones added an average of 6.30 THB to the effective cost of every tray that did sell.

Seed cost accounted for 38% of the fully loaded tray cost — the largest single input — but energy cost, which most cost estimates omit entirely, accounted for 9% when climate management runtime was included alongside lighting.

Labour time per tray averaged 14 minutes across the full cycle — seeding, watering checks, harvest, and wash — at a Bangkok minimum wage proxy of 375 THB per hour, adding 87.50 THB per tray if costed at that rate. Most small-scale operators do not cost labour. The ones who do price very differently.

The cheapest production month was not the month with the fewest failed trays. It was the month with the most consistent overnight humidity — fewer recovery interventions meant fewer labour hours per tray regardless of loss rate.

Substrate was the most controllable cost lever: switching from imported coco coir to a locally sourced Thai-produced equivalent reduced substrate cost by 22% with no measurable difference in germination rate or yield weight across 12 paired cycles — Plant Mood production data, 2024.

TL;DR

The inputs-only cost estimate for a sunflower tray is not a business number. It is the cost of the materials if everything goes perfectly, which it does not. Six months of logged data from 94 tray cycles produces a different figure once you add energy, failed trays, labour time, and the interventions that Bangkok's climate requires but no grow guide budgets for. The gap between the estimate growers use to price their product and the cost the production data shows is where most small-scale operations quietly lose margin without knowing why.

The month the numbers stopped making sense

Month three. Forty trays seeded, thirty-five harvested with sellable yield, five written off to mold or poor germination. Revenue looked fine at the tray level — the price per tray covered seed and substrate with room to spare. But the electricity bill came in higher than projected, I had spent two evenings that month doing emergency interventions on trays that were showing early mold signs, and I had driven to three different suppliers because my usual coco coir was out of stock and the substitute cost 30% more. None of those costs appeared in the estimate I had been using. They all appeared in the month-end reconciliation.

That was the month I built a proper cost log. Not a spreadsheet with seed price and substrate price. A timestamped record of every input, every failed tray, every intervention, every hour spent on the operation. Six months later I had 94 cycles logged and a cost per tray that was 34% higher than my original estimate. The estimate had not been wrong about the inputs. It had been wrong about what running the operation actually costs.

What six months of data produced

The difference between the inputs-only cost estimate of 35.60 THB per tray and the fully loaded average of 47.80 THB across 94 logged sunflower cycles in Bangkok. Every tray sold at a price built on the lower number was selling at a margin that did not exist — Plant Mood production data, 2024.

11.7% loss rate

The proportion of seeded trays across 94 cycles that produced no sellable yield. Distributed across successful trays, each failed tray added 6.30 THB to the effective cost of every tray that did sell. A grower estimating cost without a loss rate assumption is assuming a loss rate of zero, which the data does not support.

14 minutes average labour per tray cycle

Timed across seeding, watering checks, harvest preparation, cutting, wash, and pack-out. At Bangkok minimum wage of 375 THB per hour, this is 87.50 THB per tray — nearly twice the fully loaded non-labour cost. Most small-scale operators exclude this entirely because they consider their own time free. The ones who cost it price their product at a level that small-scale operators without labour accounting cannot understand.

9% of fully loaded cost

Energy's share of the fully loaded tray cost when climate management runtime was included alongside lighting draw. In the inputs-only estimate, energy was either excluded or estimated as lighting draw only. Climate management — fans and dehumidification driven by Bangkok's humidity — added a variable energy cost that most estimates do not contain a line for.

Seed cost is not the number to optimise

The default cost-reduction move for microgreen growers is to find cheaper seed or buy in larger bulk quantities. Seed is the most visible input cost and the one most often discussed in growing communities. The assumption is that seed cost drives margin.

Seed accounted for 38% of the fully loaded non-labour cost in our data — significant, but fixed per tray once you have settled on a supplier. The loss rate, which most growers do not track explicitly, contributed more margin erosion per month than seed cost variance did. A month where loss rate climbed from 10% to 18% cost more in amortised failed-tray expense than a month where seed price rose by 15%. The number that moves the margin is not the one on the seed supplier invoice. It is the number of trays that produce nothing.

Plant Mood production data, 2024. Month-four loss rate spike to 18.3% — driven by three consecutive high-humidity weeks in Bangkok's wet season — added an estimated 9.40 THB per successful tray in amortised loss cost. A 15% seed price increase in the same dataset would have added approximately 2.70 THB per tray. The loss rate impact was 3.5 times larger than the seed price impact.

Why Bangkok's climate creates costs that temperate-climate estimates do not contain

A sunflower microgreen cost model built in a temperate climate has a fundamentally different cost structure than one running in Bangkok. In a temperate grow room with stable humidity and moderate temperatures, the climate is largely a given. Ventilation is passive or low-duty. Mold events are occasional. Germination rates are consistent season to season. The production data looks like a clean line. In Bangkok, the climate is an active cost centre. Humidity swings between morning and afternoon create intervention requirements that a temperate operator never faces. April's overnight heat suppresses germination rates in a way that adds cost through failed trays rather than through any input the grower controls. A cost model that does not account for climate-driven variability is not wrong — it is calibrated for a different city.

Month four of the logged period fell across Bangkok's wet season peak. Three consecutive weeks of overnight humidity above 86% at tray level produced the highest loss rate in the dataset: 18.3%. Intervention labour — the time spent checking trays outside normal watering cycles, applying corrective airflow, and making early-harvest decisions on at-risk trays — added an estimated 4.2 minutes per tray across that month, entirely absent from the non-intervention months. At a labour rate of 375 THB per hour, that is 26.25 THB of additional cost per tray that appears nowhere in an inputs-only estimate.

The loss rate in a Bangkok operation is not a fixed input like it might be in a more controlled environment. It is a function of the humidity profile across the grow cycle, which varies by season, by overnight conditions, and by how effectively the climate management system responds to those conditions. Modelling sunflower microgreen cost without a seasonally adjusted loss rate assumption produces an estimate that is accurate in the driest months and significantly wrong in the wettest ones. The annual average loss rate flattens the seasonal reality in a way that obscures where the cost is actually accumulating.

What changes when you include each cost category

Inputs-only estimate: seed and substrate

Seed at 18.50 THB per tray, substrate at 8.20 THB per tray, packaging at 2.10 THB. Water cost negligible at this scale. Total: 28.80 THB. This is the estimate most growers start with and many never update. It is accurate for a perfect cycle with zero loss rate and no climate-driven intervention.

A tray priced to cover inputs-only at a 40% margin needs to sell at approximately 40 THB. At that price, any month with a loss rate above zero and any energy or intervention cost is already below the margin the pricing assumed.

Inputs plus energy and water

Adding prorated energy cost — lighting draw plus climate management runtime across the tray cycle — at 4.30 THB per tray, and water at 0.50 THB. Total: 33.60 THB. This is closer to operational reality and still excludes loss rate and labour. Energy cost is frequently omitted because growers estimate lighting draw only and treat climate management as a shared overhead rather than a per-tray cost.

A tray priced at 40 THB now covers inputs and energy at roughly 19% margin — before loss rate removes 11.7% of volume and before labour is considered. The margin that looked comfortable at 40 THB has already compressed significantly.

Fully loaded non-labour cost including loss rate amortisation

Adding loss rate amortisation at 6.30 THB per successful tray — the cost of failed cycles distributed across the ones that sell. Total: 47.80 THB. This is the number the six-month log produced. It does not include labour time, which if costed at minimum wage rate would push the fully loaded figure to 135.30 THB per tray.

A tray priced at 40 THB and sold against a fully loaded non-labour cost of 47.80 THB is selling at a loss before labour is considered. The pricing that covers inputs and feels profitable is not covering the operation. The gap is invisible without a loss rate log.

Fully loaded including costed labour

Adding 14 minutes at 375 THB per hour equals 87.50 THB per tray. Total fully loaded cost: 135.30 THB. Almost no small-scale operator prices at this level. The standard response is that the grower's own labour is not a real cost because they would spend the time anyway. This is economically incoherent — the question is not whether the labour was going to happen but whether the operation could survive hiring someone to do it.

If the operation cannot be replicated by a paid employee at a price the market will support, it is a hobby with revenue, not a business. Most Bangkok microgreen side-operations fall into this category and most operators prefer not to run this calculation. Running it does not mean you must price at full labour cost. It means you know the real subsidy your own time is providing.

What 94 cycles of logged production data showed

Across six months, loss rate ranged from 5.6% in the driest month to 18.3% in the wettest. The seeding technique, substrate, and watering protocol were consistent across the period. The variable was the ambient climate conditions and specifically the overnight humidity profile. The months with the highest loss rates were the months where overnight humidity at tray level stayed elevated longest. Loss rate is not primarily a skill variable for a grower who has stabilised their technique. It is partly a climate variable.

The loss rate varied more by month than by technique

Building a cost model around a fixed loss rate assumption will produce an accurate estimate in the average month and a wrong one in the outlier months — which are also the months when intervention labour is highest and energy costs are most elevated. The months that break the estimate are the most expensive months to operate.

In month four, the imported coco coir supplier was out of stock for two weeks. A Thai-produced coco coir substitute was sourced locally at 22% lower cost per unit. Over 12 paired cycles — six with imported, six with local substrate at matched seed density, watering, and climate conditions — germination rate, yield weight per tray, and harvest timing showed no statistically meaningful difference. The local substrate has been the standard substrate since month five.

Substrate source change produced 22% cost reduction with no measurable yield impact

Substrate cost is more controllable than it appears. The assumption that imported substrate performs better than locally available alternatives does not hold in this dataset. The 22% cost reduction on a line item that represents 17% of the fully loaded non-labour cost is meaningful at volume. The test cost six cycles and two weeks of parallel tracking.

In dry-season months, labour time per tray tracked close to the 14-minute average. In wet-season months — where humidity required more frequent tray checks, earlier harvest decisions on at-risk trays, and additional airflow management — labour time increased to an estimated 18.2 minutes per tray cycle. At a 375 THB per hour proxy rate, this is an additional 26.25 THB per tray that appears in no fixed cost model.

Intervention labour is the invisible cost multiplier in wet-season months

A cost model calibrated on dry-season labour time underestimates wet-season operating cost by a margin that grows with scale. A 10-tray operation absorbs this invisibly. A 40-tray operation running through October at wet-season labour rates is carrying a cost the pricing does not cover if it was set in the dry season.

Month two produced the lowest cost per tray in the dataset: 41.20 THB fully loaded, against the six-month average of 47.80 THB. It was not the month with the most trays harvested or the highest yield weight. It was the month with the most consistent overnight humidity — narrow daily humidity swings meant fewer intervention events, lower climate management runtime, and shorter labour time per tray. Consistency in ambient conditions reduces cost more reliably than volume increases do at small scale.

The cheapest month by cost per tray was not the highest-yield month

Optimising for ambient condition stability — not just growing more trays — is a legitimate cost-reduction lever. A 40-tray month with high humidity variance and a 14% loss rate can cost more per tray than a 30-tray month with stable conditions and a 6% loss rate. Scale does not solve climate-driven cost if the climate is not managed.

Plant Mood production data, 2024

What growers say about cost and what the data shows instead

'I cannot figure out why I am not making money at this price point.'

The price was set against an inputs-only cost estimate that excluded loss rate amortisation, energy cost, and any value assigned to labour time. The tray may be priced above material cost and still below the actual cost to produce it once the full log is run. The gap does not show up on a cycle-by-cycle view — it shows up in the month-end reconciliation when revenue does not match the margin the pricing implied.

'My costs are higher in some months and I cannot explain why.'

Loss rate is the most likely explanation, not input price variation. A month where two or three additional trays fail adds their full input cost to the period with no corresponding revenue. At small scale, a loss rate swing of 5 percentage points from one month to the next creates a cost variance that looks like a pricing problem or a supply issue when it is actually a climate-driven yield problem. Logging each failed tray explicitly, with the reason for failure, makes this visible.

'Bulk seed buying should have reduced my cost but the monthly number did not change much.'

Bulk purchasing reduces the seed line item, which is real but limited. If loss rate, energy, and labour were not also addressed, the cost reduction from bulk seed buying gets absorbed by the other variables. A 15% reduction in seed cost against a 38% seed share of fully loaded cost is a 5.7% total cost reduction. A loss rate improvement from 12% to 7% across the same volume is a larger per-tray cost reduction. Growers optimise seed purchasing because it is the controllable-feeling lever. It is not the largest lever.

'I track everything but my numbers still do not add up at the end of the month.'

'Everything' usually means inputs. The cost categories that are hardest to track — prorated energy per tray, labour time per cycle, amortised loss — are the ones that tend to be excluded from informal cost tracking. A grower who logs seed weight used and substrate bags consumed but does not log tray failures and intervention time is tracking the static inputs and missing the variable costs. The variable costs are where the month-end gap lives.

What to log and what to change based on six months of data

Any grower currently using an inputs-only cost estimate to price sunflower trays

Add a loss rate line to the cost model immediately. Count every tray seeded and every tray that produced no sellable yield over the next four weeks. Divide failed trays by total trays seeded. Multiply that fraction by your per-tray input cost and add it to your cost estimate as a loss amortisation figure. Do not average across your best months — use the four-week period as-is.

A cost estimate that reflects what the operation actually costs across a realistic period rather than what it costs on a perfect cycle. For most Bangkok growers running without climate control, the loss rate figure will fall between 8% and 15%. If it is below 5%, the tracking period was a dry-season outlier.

Any grower who has not tested a locally sourced substrate alternative

Run six paired cycles — three with your current substrate and three with a Thai-produced coco coir alternative sourced from a local agricultural supplier. Match seed density, watering protocol, and harvest timing. Log germination rate and yield weight per tray for each cycle. The cost differential is already known before the test starts. The test answers whether the yield differential justifies the price difference.

Either a confirmed 20-plus percent substrate cost reduction with no meaningful yield impact, or a documented reason why the current substrate is worth its premium. Both outcomes are more useful than the assumption most growers are currently operating on.

Any grower operating without per-device energy logging

Add smart plugs with energy monitoring to the lighting circuit and the climate management devices separately. Run for one month and divide total logged energy cost by the number of trays completed in that period. This produces a per-tray energy cost figure that can be added to the cost model. Do not estimate from device wattage ratings — climate management duty cycles in Bangkok vary enough by month that an estimate from ratings will be wrong in the wet season.

A per-tray energy cost that reflects actual runtime rather than theoretical draw. In our data, actual energy cost per tray ran 40% higher than the estimate from rated wattage because climate management devices run significantly more in high-humidity months than the wattage calculation assumes.

Any grower who has never timed their labour per tray cycle

Time every touchpoint for one full tray cycle from seeding to pack-out. Use a phone stopwatch. Include watering checks even when no intervention happens — the check time is real labour. Sum the total minutes and divide by the number of trays managed during the same period. Do not aim for a tidy number. The point is to know what the operation actually costs in time, not what feels like a reasonable estimate.

A labour-per-tray figure that makes visible the subsidy the grower's own time is providing to the operation. Most growers who run this calculation for the first time find that labour at any reasonable rate makes the current pricing untenable at small scale — which is useful information rather than a reason to stop growing.

Logging the reason for every failed tray, not just the count. A loss rate of 11.7% is a cost figure. A loss rate of 11.7% where 60% of failures are mold-driven, 25% are germination failures, and 15% are mechanical damage is an actionable breakdown. The mold-driven failures have a different intervention than the germination failures. Logging the count without the reason produces a number that tells you the cost but not where to reduce it.

The estimate you are using is not the cost you are running

The inputs-only estimate is not wrong. It is incomplete in exactly the ways that erode margin without announcing themselves. This week: log every tray you seed and every tray that fails for the next four weeks. At the end of the period, calculate what those failed trays cost in inputs alone and add that figure, divided by your successful tray count, to every cost estimate you use going forward. That single change will not fix the full gap between your estimate and the six-month average — but it will close the largest single part of it. The rest of the picture builds from there.

FAQ

How much does it cost to produce one tray of sunflower microgreens in Bangkok?

Across 94 logged cycles in a Bangkok apartment operation, the fully loaded non-labour cost per tray averaged 47.80 THB — including seed at 18.50 THB, substrate at 8.20 THB, packaging at 2.10 THB, energy at 4.30 THB, water at 0.50 THB, and loss rate amortisation at 6.30 THB. An inputs-only estimate excluding energy and loss rate produces 28.80 THB. The gap between those two numbers is where most small-scale margin problems are hiding — Plant Mood production data, 2024.

What is a realistic loss rate for sunflower microgreens?

In our Bangkok production log across 94 cycles, the overall loss rate was 11.7% — roughly 1 in 9 trays produced no sellable yield. It varied significantly by season: 5.6% in the driest month and 18.3% during a wet-season peak with three consecutive high-humidity weeks. A cost model that assumes a fixed loss rate will be accurate in average months and wrong in the outlier months, which are also the most expensive months to operate — Plant Mood production data, 2024.

Should I buy sunflower microgreen seeds in bulk to reduce costs?

Bulk purchasing helps but it is not the largest cost lever. Seed represents 38% of the fully loaded non-labour cost per tray in our data. A 15% seed price reduction from bulk buying produces roughly a 5.7% total cost reduction. A loss rate improvement from 12% to 7% across the same volume produces a larger per-tray saving. Optimising seed procurement while loss rate remains untracked is addressing the smaller variable. The loss rate is where the margin actually moves.

Does substrate brand affect sunflower microgreen yield in Bangkok?

In our test across 12 paired cycles, a Thai-produced coco coir sourced locally at 22% lower cost than the imported equivalent showed no measurable difference in germination rate, yield weight per tray, or harvest timing compared to the imported substrate. The local substrate has been standard in our operation since month five of the logged period. The assumption that imported substrate outperforms local alternatives did not hold in this data — Plant Mood production data, 2024.

How much time does it take to grow one tray of sunflower microgreens?

In our logged cycles, labour time averaged 14 minutes per tray across the full cycle — seeding, watering checks, harvest, cut, wash, and pack-out. In wet-season months with higher intervention requirements, this rose to an estimated 18.2 minutes. At a Bangkok minimum wage proxy of 375 THB per hour, 14 minutes is 87.50 THB per tray — nearly twice the fully loaded non-labour cost of 47.80 THB. Most small-scale operators do not cost labour. The ones who do price at a level that smaller operators cannot understand without running the same calculation.

What is the biggest hidden cost in sunflower microgreen production?

Loss rate amortisation — the cost of failed trays distributed across the ones that do sell. At an 11.7% loss rate across our 94-cycle dataset, every successful tray carried 6.30 THB in amortised failure cost. In the worst month, a loss rate spike to 18.3% added an estimated 9.40 THB per successful tray. This cost does not appear on any input invoice and is absent from most grower cost estimates. It is also the most climate-responsive cost in a Bangkok operation — it rises with humidity and falls with climate stability.

How does Bangkok's climate affect microgreen production costs?

Significantly and seasonally. The wet season produced the highest loss rates, the most intervention labour, and the highest energy draw in our dataset. Month-four wet-season conditions drove loss rate to 18.3% and added an estimated 4.2 minutes of intervention labour per tray cycle — 26.25 THB per tray at a 375 THB hourly rate — entirely absent from dry-season months. A cost model calibrated on dry-season data underestimates wet-season operating cost by a margin that grows with the scale of the operation — Plant Mood production data, 2024.