Running a microgreen business in Bangkok: cost, sales channels, and logistics from real production data

By Linda Khangtha · Published 14 May 2026

Running a microgreen business in Bangkok: cost, sales channels, and logistics from real production data

Key takeaways

The fully loaded cost per sunflower tray in a Bangkok apartment operation averaged 47.80 THB across 94 logged cycles -- 34% higher than an inputs-only estimate of 35.60 THB -- because energy, water, packaging, and loss rate amortisation are real costs that do not appear on any seed supplier invoice. Plant Mood production data, 2024.

The sustainable solo tray ceiling for a grower with a full-time job in Bangkok is 24 active trays in normal dry-season conditions and approximately 18 trays during October and November wet-season peak. The commonly cited figure of 40 trays is based on weekly hour totals that do not account for the binding constraint: the daily monitoring window on workday mornings. Plant Mood time-tracking data, 2024.

Line group direct sales produced the highest net margin of any tracked channel at 71%, versus 44% for weekend markets (22% when non-productive time was costed), 31% for restaurant wholesale, and 28% for delivery platforms after fees. The least professional-looking channel is the highest-margin channel at small production scale. Plant Mood sales data, 2024.

Clamshell packaging retains the most moisture but creates condensation within 24 hours in Bangkok ambient humidity above 70%, accelerating stem rot faster than weight loss alone predicts. A 90 to 120 minute fan dry-down before sealing changed the 5-day shelf life outcome more reliably than any pack format switch. Plant Mood grow log data, 2024.

Restaurant accounts in Bangkok required an average 38% price concession relative to direct consumer pricing, with 3 of 5 tracked accounts operating on 30-day payment terms. Fewer than 40% of Plant Mood restaurant invoices were paid within 7 days. The channel is not unprofitable -- it is unprofitable at small account counts with dispersed geography and without enforced payment terms.

In a Bangkok microgreen subscription operation, 71% of first-year churn occurred within the first 3 delivery cycles, and 65% of customers who reported a condition issue in months 1 or 2 did not renew. Delivery reliability outranked product quality as the primary renewal driver: 14 of 18 surveyed subscribers cited consistent timing versus 11 citing product quality. Plant Mood subscription data, 2024.

Substrate source change from imported to Thai-produced coco coir reduced substrate cost by 22% with no measurable difference in germination rate or yield weight across 12 paired cycles. The assumption that imported substrate outperforms local alternatives did not hold in this dataset. Plant Mood production data, 2024.

The month the numbers stopped adding up

Month three. Forty trays seeded, thirty-five harvested with sellable yield, five written off. A restaurant account in Thonglor taking consistent volume at what felt like a real price. A Line group of 18 buyers that felt like a side operation. Revenue looked fine. Then the electricity bill arrived, there had been two evenings of emergency mold interventions, and a coco coir supplier was out of stock so the substitute had cost 30% more. None of those costs appeared in the estimate. They all appeared in the month-end reconciliation. The same month, a Grab driver delivering subscription boxes stopped somewhere in On Nut for 35 minutes on a 34-degree April afternoon. The sunflower arrived limp. The customer sent a photo. The refund was immediate. The renewal was not.

That month produced three separate logs I had not kept before: a proper cost breakdown by input category, a timestamped record of every minute spent on the operation, and a channel tag on every sale. Six months later the cost log showed a 34% gap between the estimate and reality. The time log showed a solo capacity ceiling half what the guides claimed. The channel data showed the restaurant account that felt like a breakthrough was the worst-performing channel by margin. The operation had been running on assumptions that the data did not support, and the assumptions had been invisible because nothing was logged clearly enough to contradict them.

The three things small Bangkok microgreen operations get wrong before they start logging

The standard failure sequence for a Bangkok apartment microgreen operation is predictable enough that you can map it before it happens. First, the grower prices against an inputs-only estimate that excludes loss rate, energy, and any value on their own time -- which means every tray sold at that price is underselling by a margin the grower cannot see. Second, they seed as many trays as their space allows rather than as many as their morning schedule can support, which holds until the first wet-season week when the daily check time doubles and three trays miss their morning assessment. Third, they treat the restaurant account as the goal and the Line group as a stepping stone, when the data says the reverse is true at small scale. None of these are skill problems. They are logging problems. The grower who has not measured their loss rate believes it is low. The grower who has not timed their daily checks believes 30 trays is manageable. The grower who has not tagged revenue by channel believes the restaurant is the anchor. Measurement is not the exciting part of running a microgreen operation. It is the part that determines whether the operation is actually viable.

That is a reasonable position and it is worth holding consciously. The problem is when a grower who has not decided to run a casual side project starts making business decisions -- scaling up, signing restaurant contracts, launching a subscription box -- based on an estimate that does not reflect reality. Running a cost log is not about turning a hobby into a spreadsheet. It is about knowing which decisions are costing you money before you make a larger version of the same decision at three times the scale.

The strongest case against this framing is that many small Bangkok growers are running the operation as a creative project and a side income rather than a business optimised for margin. For those growers, the absence of detailed logging is a feature rather than a gap -- it keeps the operation feeling light and reduces the administrative overhead that turns something enjoyable into something that feels like a second job. The decision to run a tight cost log is itself a decision about what kind of operation you want.

The numbers that change how you run the operation

34% gap between inputs-only estimate and fully loaded cost per tray

The difference between 35.60 THB per tray (seed, substrate, packaging) and 47.80 THB per tray (adding energy at 4.30 THB, water at 0.50 THB, and loss rate amortisation at 6.30 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.

24 active trays

The sustainable solo ceiling for a Bangkok grower with a full-time job, derived from 14 weeks of timestamped labour data. At 4.8 minutes per tray in normal dry-season conditions, 40 trays requires 192 minutes of daily check time before any intervention. Against a 75-minute available morning window, that ceiling is not reachable without cutting checks short. The ceiling drops further to approximately 18 trays in October and November. Plant Mood time-tracking data, 2024.

Net margin on Line group direct sales versus delivery platform sales across six months of tracked data. Both channels sell to the same end-consumer segment. The 43-percentage-point gap is platform fees, packaging requirements, and the price floor that delivery platforms set through competitor visibility. Plant Mood sales data, 2024.

65% churn rate after a single delivery complaint

The proportion of subscription customers who reported a condition issue in months 1 or 2 and did not renew, across Plant Mood's first subscription cohort of 23 subscribers. A refund after a bad delivery restored the financial relationship. It did not restore the belief that the next box would arrive correctly. Plant Mood subscription data, 2024.

11.7% loss rate across 94 cycles, ranging from 5.6% in the driest month to 18.3% in the wettest

The proportion of seeded trays that produced no sellable yield. Amortised across successful trays, each failed tray added 6.30 THB to the effective cost of every tray that sold. A month where loss rate climbed from 10% to 18% added more cost per tray than a 15% seed price increase would have. Plant Mood production data, 2024.

Why Bangkok's climate is an active cost centre, not a background condition

Every business framework for microgreen economics was built somewhere else. The cost model from a Sydney grow room, the tray capacity guide from a Minnesota basement, the subscription box logistics advice from a UK courier service -- none of them account for what Bangkok does to a growing operation.

The climate creates costs through three separate mechanisms that compound on each other. The first is loss rate variance. Bangkok's humidity swings between 54% in dry season and 88% during wet season peaks. That range determines how many trays fail in a given month more reliably than any technique variable the grower controls. A loss rate of 5.6% in February and 18.3% in October from the same seeding protocol is not inconsistency -- it is the seasonal humidity range expressing itself in failed trays. A cost model with a fixed loss rate assumption is accurate in the average month and meaningfully wrong in the outlier months, which are also the months with the highest intervention labour and energy draw.

The second mechanism is daily monitoring time inflation. The daily tray check in a Bangkok wet-season week is not the same task as the daily check in a dry-season week. High overnight humidity at tray level means each tray in the post-blackout window requires more careful assessment: stem base moisture, airflow adequacy, early mold indicators. A check that takes 4.8 minutes per tray in April takes 6 to 8 minutes per tray in October. At 20 active trays, that difference pushes the daily check past the available morning window on roughly one third of October mornings. The grower does not change anything. The climate inflates the task.

The third mechanism is cold chain compression. Between a grower's fridge at 6 degrees Celsius and a customer's door in Thonglor, there are 30 to 80 minutes of Bangkok ambient heat, a Grab driver with no temperature control, and a domestic refrigerator at the destination that may cycle between 6 and 14 degrees depending on how often the door opens. A gel ice pack buys 60 to 90 minutes of cold protection. On-demand delivery provides no guarantee on where that window falls. The crop that leaves the operation in perfect condition is not the crop the customer necessarily receives. The gap between those two states is not a growing problem. It is a logistics problem that only exists because the ambient environment is 32 to 34 degrees for most of the year.

A single October week from the 2024 logs illustrates how all three mechanisms land simultaneously. Overnight humidity at tray level above 86% for five consecutive nights pushed the loss rate to 22% for the week, the highest single-week figure in the dataset. Daily check time at 20 trays averaged 7.1 minutes per tray -- 142 minutes total -- against a 75-minute available window. A subscription box dispatched that week via on-demand Grab arrived 82 minutes after dispatch in conditions where the safe window was 75 minutes. The customer sent a photo of wilted sunflower. The grower changed nothing between that week and the previous one. Bangkok did.

The cash flow dimension of Bangkok microgreen economics adds a fourth mechanism that operates differently from the growing variables. Restaurant accounts on 30-day payment terms mean inputs purchased this week are funded by reserves and recovered a month after delivery. At small operating capital, this lag limits how quickly the operation can respond to a high-loss-rate month: the seed restock needed for the following cycle competes with the cash that is sitting in an unpaid invoice from three weeks ago. Two seed restock purchases were delayed in our logged period because of this pattern. The cash flow cost does not appear in a margin calculation. It appears in a production schedule constraint.

What the logs showed across cost, time, channel, packaging, and delivery

Month-four loss rate spike to 18.3% -- driven by three consecutive high-humidity weeks during Bangkok's wet season -- added an estimated 9.40 THB per successful tray in amortised failure cost. A 15% seed price increase across the same volume would have added approximately 2.70 THB per tray. The loss rate impact was 3.5 times larger than the seed price impact. The cheapest month in the dataset -- 41.20 THB fully loaded -- was not the highest-yield month. It was the month with the most stable overnight humidity, which produced fewer intervention events, lower energy draw, and shorter labour time per tray regardless of how many trays were seeded. Plant Mood production data, 2024.

Loss rate drove more cost variance than any input price change

Optimising seed procurement while loss rate remains untracked is addressing the smaller variable. A grower who bulk-buys seed to reduce the 38% seed share of fully loaded cost achieves a 5.7% total cost reduction at best. A grower who reduces seasonal loss rate from 12% to 7% achieves a larger per-tray saving with no change to any input.

Before logging, the assumption was that total weekly hours set the ceiling. The data showed a different structure: batchable tasks like seeding and harvest accounted for 41% of weekly labour but caused zero schedule failures across 14 weeks. Non-batchable daily monitoring accounted for 59% of weekly labour and every single schedule failure. In wet-season months, the daily check at 20 active trays pushed past the 75-minute morning window on 11 of 30 October mornings, and two of the three October tray failures were traced to trays that received shortened checks during window overruns. Plant Mood time-tracking data, 2024.

The binding tray capacity constraint is the morning window, not weekly hours

Guides that calculate microgreen labour as a weekly total and divide by seven are obscuring the structural difference between tasks that can wait and tasks that cannot. A solo grower needs to calculate daily non-batchable time first. Tray capacity is set by the daily window, not the weekly sum. Adding trays without asking whether they fit the morning window is how you find the ceiling the hard way.

A direct comparison across 8 consecutive delivery weeks: 4 weeks with upgraded double-wall packaging dispatched via on-demand Grab, and 4 weeks with standard foil-liner packaging dispatched via a fixed motorbike route. Complaint rate on the upgraded packaging weeks was 3 of 22 deliveries. Complaint rate on the controlled-route standard packaging weeks was 0 of 19 deliveries. After restructuring subscription deliveries to district-grouped fixed routes, average transit time dropped from 48 minutes to 26 minutes and condition complaints dropped from 14% to under 3%. Plant Mood delivery log, 2024.

Direct delivery route control changed cold chain outcomes more than packaging specification did

The first logistics investment for a Bangkok subscription operation should be route design, not packaging specification. Controlling the transit time variable does more for cold chain integrity than extending the packaging tolerance. Premium packaging on a variable on-demand route leaves the cause of failure in place and treats the symptom.

Across 18 months of restaurant account operation, on-time payment -- defined as within 7 days of invoice date -- occurred in fewer than 40% of invoice cycles. Average payment lag was 22 days. In months where more than 2 accounts were in arrears simultaneously, the cash flow impact required drawing down the operating buffer maintained for seed and substrate purchases. Two seed restock purchases in a single month were delayed because of this pattern. The same month, the Line group produced 47% of total net margin on 31% of total revenue. Plant Mood operational and sales data, 2023 to 2025.

Restaurant accounts generated the highest invoice totals and the lowest effective cash return in late-payment months

A grower looking at a restaurant rate of 380 THB per 100g and comparing it to a direct consumer rate of 260 THB is comparing invoice prices, not cash flow realities. The premium disappears when you account for payment timing, delivery cost, and invoice administration. At small account counts, the expat direct channel produced more reliable monthly cash despite lower total invoice value.

Plant Mood production data, sales data, time-tracking data, 2023 to 2025

The things that look like the problem and are not

The data from six months of logging consistently points somewhere different. The germination week that looked bad was a loss rate event driven by seasonal humidity, not a technique failure -- the same protocol the week before produced 94% germination. The restaurant buyer renegotiating the price was a predictable outcome of chef turnover at a larger venue, not a relationship problem. The wilted subscription box was a transit time breach on an on-demand delivery, not a packaging failure. In every case, the visible event was the output of a structural condition that had been running for weeks before it produced a symptom. Loss rate climbs slowly across a wet-season month before it shows in a failed tray. The morning window erodes gradually as active tray count creeps up before it fails on an October Wednesday with a 7am meeting. The cold chain breaks on the one delivery in six where a driver takes an unexplained detour.

The counterintuitive reading of this is that improving the response to visible events -- better mold protocol, tighter restaurant contracts, premium packaging -- does less than changing the structural conditions that produce the events. Reducing wet-season tray count by 4 to 6 prevents the October check-time overrun without requiring any improvement to morning efficiency. Building a direct consumer base before signing restaurant accounts means a late-paying account is a nuisance rather than a cash flow crisis. Controlling the delivery route eliminates the cold chain breach before it happens rather than offering a better refund after it does.

The most reliable predictor of a good operational month in our data was not seed quality, not technique consistency, and not the size of the order book. It was the overnight humidity profile across the first two weeks of the month. Stable overnight humidity below 80% produced the lowest loss rates, the shortest daily check times, the lowest energy draw, and the fewest intervention events. A month that started with two weeks of stable overnight conditions was going to be a cheap month regardless of what else happened. A month that started with sustained overnight humidity above 86% was going to be expensive in ways that no input optimisation could prevent. The climate is not a variable the grower can control. It is a variable the grower can plan around -- if they know it is the variable that matters.

The visible problems in a microgreen operation are the ones that get attention: a bad germination week, a tray with mold, a restaurant buyer renegotiating the price, a subscription customer complaining about a wilted box. These feel like the problems because they are the events that interrupt the day and require immediate response. Most small Bangkok growers spend their improvement effort on the visible events.

Three things the standard guides get wrong for Bangkok

Three pieces of standard microgreen business advice appear consistently across grow guides, urban farm business resources, and online grower communities: that a solo grower can manage 40 to 60 trays alongside a full-time job, that diversifying across multiple sales channels reduces business risk, and that subscription boxes produce reliable recurring revenue once the customer base is established.

All three are calibrated for a different city. The 40-tray figure comes from weekly labour calculations that do not separate batchable from non-batchable tasks or account for the morning window constraint. At 4.8 minutes per tray for daily checks, 40 trays requires 192 minutes of monitoring every workday morning. Against a 75-minute available window, this cannot work. The Bangkok ceiling, logged and measured, is 24 in dry season and approximately 18 in October.

The multi-channel diversification advice assumes additional channels are margin-positive. In our six-month comparison with all four channels running simultaneously at 38 average weekly trays, two of the four channels operated below minimum viable margin. Adding delivery platform fees and restaurant payment lag to a small operation did not reduce risk -- it added management complexity and cash flow drag to channels that were not covering their own overhead. The risk management logic requires that the additional channels are actually profitable, which at under 40 weekly trays they were not.

The subscription box passive income framing is the most persistent myth and the most expensive one to believe on arrival. Active delivery-day management in our first subscription year averaged 2.5 hours per dispatch day through month 12. The growing became more efficient with experience. The logistics did not. A driver cancellation, a building that does not allow lobby deliveries, a customer not home during the agreed window -- these recur in new combinations every week. The demand is more predictable than ad-hoc sales. The operation is not passive.

Plant Mood time-tracking data, sales data, and subscription operation data, 2024. The 14-week tray capacity log, 6-month channel comparison period, and first-year subscription cohort tracking are the primary sources. These are not theoretical edge cases -- they are the actual outcomes of running the standard advice in Bangkok conditions.

What changes in the Bangkok microgreen market over the next two years

Restaurant microgreen pricing in Bangkok will compress 10 to 15% in real terms by 2027 as the number of small urban growers targeting the restaurant channel continues to grow faster than restaurant demand.

The restaurant channel is the most visible and most aspired-to target for new urban growers entering the Bangkok market. Every operation that produces a viable sunflower or pea shoot tray defaults to restaurant outreach first. Supply is growing. The pool of restaurants willing to pay above 350 THB per 100g is not growing at the same rate. Price compression is a function of supply-side crowding, not demand softening. Growers who build direct consumer channels now are insulating themselves from a correction that is already beginning in the mid-market restaurant segment. Plant Mood market observation, 2024 to 2025.

Average restaurant rate for sunflower microgreens in Bangkok in Q1 2027 remains above 350 THB per 100g across a sample of 10 or more mid-range restaurant accounts.

Solo microgreen growers who track time per task rather than time per week will converge on lower active tray counts than the current community consensus and will have measurably lower loss rates as a result.

The 40-tray figure persists because nobody logs the daily check separately from total weekly hours. Once growers start separating batchable from non-batchable labour and measuring against the morning window rather than the weekly total, the ceiling becomes visible and the number comes down. The loss rates of growers who operate within their actual daily constraint will be lower because they are not taking on the check-time overruns that produce the missed assessments that become failed trays two days later. The tools to track at this resolution are cheap and available. The pattern will become visible as more growers log at it.

A published dataset from three or more independent solo Bangkok growers showing sustainable tray counts above 30 with full-time employment and logged daily check times below 75 minutes per morning, without elevated loss rates.

Thai consumer direct-to-grower purchasing for microgreens in Bangkok will grow to represent more than 40% of small operation revenue by end of 2026, driven by LINE OA subscription models and Saturday market consolidation in the Ari and Ekkamai corridors.

The structural drivers are already visible in 2025: rising health consciousness in Bangkok's middle-income segments, growing familiarity with buying directly from producers via LINE and Instagram, and the expansion of curated health-food markets in the districts where microgreen buyers are concentrated. Thai buyers in the Thonglor, Ekkamai, and Ari corridors convert from first purchase to standing weekly order at a high rate when the product and ordering experience are consistent. The per-gram price is lower than the restaurant or expat channel but the acquisition cost is also lower and the retention rate is higher. The operations growing fastest in this segment in 2025 are the ones with a consistent Saturday market presence and a LINE OA with weekly availability updates. Plant Mood sales data, 2024 to 2025.

A survey of Bangkok small-scale microgreen operations in December 2026 showing Thai consumer direct sales representing less than 25% of revenue on average.

FAQ

What does a sunflower microgreen tray actually cost to produce in Bangkok?

Across 94 logged cycles, 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 of seed and substrate alone produces 28.80 THB. The 34% gap between those two numbers is where most small-scale Bangkok margin problems are hiding. Adding labour at Bangkok minimum wage proxy (14 minutes at 375 THB per hour) pushes the fully loaded figure to 135.30 THB per tray. Plant Mood production data, 2024.

How many microgreen trays can one person realistically manage while working full-time in Bangkok?

Based on 14 weeks of timestamped labour logs, the sustainable ceiling is 24 active trays in normal dry-season conditions. This drops to approximately 18 trays during Bangkok's wet-season humidity peak in October and November. The commonly cited figure of 40 trays is based on weekly hour totals that do not account for the binding constraint: daily monitoring takes 4.8 minutes per tray in normal conditions and 6 to 8 minutes per tray in wet-season weeks, against a 75-minute available morning window before work. At 40 trays, daily checks alone require 192 minutes before any intervention. Plant Mood time-tracking data, 2024.

Which sales channel has the best margin for microgreens in Bangkok?

Line group direct sales produced the highest net margin at 71% across six months of tracked data -- compared to weekend markets at 44% (22% when non-productive time was costed at 375 THB per hour), restaurant wholesale at 31%, and delivery platforms at 28% after fees and packaging. The margin ranking inverts almost every assumption a first-time seller makes: the least formal channel is the highest-margin channel at small production scale. Running all four channels simultaneously at under 40 trays per week added 6.2 hours of weekly sales management time for the non-Line channels at margins that did not justify the overhead. Plant Mood sales data, 2024.

Is selling microgreens to restaurants in Bangkok worth it?

At small account counts with dispersed geography, the economics are difficult. Restaurant accounts required an average 38% price concession relative to direct consumer pricing, with 3 of 5 tracked accounts on 30-day payment terms. Fewer than 40% of Plant Mood restaurant invoices were paid within 7 days across an 18-month period, with an average payment lag of 22 days. The channel generated 23% of total revenue but only 14% of total net margin in a tracked comparison period. Restaurant accounts work when you have 4 or more geographically clustered accounts paying reliably. One or two dispersed accounts paying late is a cash flow liability. Plant Mood operational and sales data, 2023 to 2025.

How do I prevent microgreen packaging condensation and mold in Bangkok's humidity?

The highest-impact single intervention is a 90 to 120 minute fan dry-down before sealing any pack type. Sealing ambient Bangkok humidity into the pack -- at 75 to 85% RH at harvest time -- means the internal dew point is crossed within hours in a cold refrigerator, depositing free water on stems and accelerating mold. Pre-cooling the crop at 16 degrees Celsius for 60 to 90 minutes before sealing reduced visible condensation at 24 hours from 9 of 12 packs to 4 of 12 across clamshell and flow wrap trials. Perforated packs made shelf life worse in Bangkok conditions, not better -- ambient air in Bangkok is more humid than pack interior air, so perforations draw humidity in rather than releasing it. Plant Mood grow log data, 2024.

How do I stop microgreen subscription customers from cancelling in Bangkok?

Front-load logistics investment into the first 3 delivery cycles. In our first subscription year, 71% of churn occurred within the first 3 deliveries, and 65% of customers who reported a condition issue in months 1 or 2 did not renew. Delivery reliability outranked product quality as the primary renewal driver -- 14 of 18 surveyed subscribers cited consistent timing versus 11 citing product quality. Moving from on-demand Grab delivery to a district-grouped fixed route reduced condition complaints from 14% to under 3%. Customers who received a specific explanation of what went wrong and a concrete logistics change before the next dispatch retained at nearly double the rate of those who received a standard refund. Plant Mood subscription data, 2024.

How does Bangkok's wet season affect microgreen production costs?

Significantly and in multiple categories simultaneously. Wet-season months produced the highest loss rates (peaking at 18.3% versus 5.6% in the driest month), the most intervention labour (18.2 minutes per tray versus 14 minutes in dry season), and the highest energy draw. A loss rate spike from 10% to 18% added approximately 9.40 THB per successful tray in amortised failure cost -- more than three times the impact of a 15% seed price increase. A cost model or tray capacity plan 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.