The bag in the shop
On the first shopping days of January, Japanese department stores and boutiques sell fukubukuro: opaque bags at a round price, filled with unsold stock the shop says is worth more than the price. The queue forms before opening. The pleasure is the seal, not the contents; you know the bag is a good deal in aggregate, and you do not know what is inside yours. It is a lottery in which the ticket is guaranteed to be worth something, which is a rare shape for a lottery.
That shape is what our game keeps. The bag has a price, the open is one draw, and the item is worth a multiple of the price that is never zero. What it drops is the shop’s promise that the contents beat the price, because a game cannot make that promise and stay a game. Instead it publishes the table.
Two bags, fifteen items
| ITEM | PAYS | CHANCE | WEIGHT (MILLIONTHS) |
|---|---|---|---|
| 手拭 Tenugui, a hand towel | ×0.20 | 45% | 450,000 |
| 御守 Omamori, an amulet | ×0.50 | 29% | 290,000 |
| 招 Maneki-neko | ×1 | 14% | 140,000 |
| 達磨 Daruma | ×2 | 7% | 70,000 |
| 鯉 Koinobori | ×5 | 3.2% | 32,000 |
| 扇 Sensu, a fan | ×10 | 1.26% | 12,600 |
| 刀 Katana | ×25 | 0.5% | 5,000 |
| 金招 Golden maneki-neko | ×100 | 0.04% | 400 |
Weights sum to 1,000,000. Return = Σ chance × payout = 0.090 + 0.145 + 0.140 + 0.140 + 0.160 + 0.126 + 0.125 + 0.040 = 96.6%.
| ITEM | PAYS | CHANCE | WEIGHT (MILLIONTHS) |
|---|---|---|---|
| 箸 Hashi, chopsticks | ×0.10 | 58% | 580,000 |
| 風鈴 Fūrin, a wind chime | ×0.50 | 26% | 260,000 |
| 面 Kitsune mask | ×1 | 1.98% | 19,800 |
| 提灯 Chōchin, a lantern | ×2 | 8.5% | 85,000 |
| 兜 Kabuto, a helmet | ×6 | 4% | 40,000 |
| 龍 Ryū, a dragon | ×20 | 1.5% | 15,000 |
| 鳳凰 Hōō, a phoenix | ×250 | 0.02% | 200 |
Return = 0.058 + 0.130 + 0.0198 + 0.170 + 0.240 + 0.300 + 0.050 = 96.78%. The two bags are priced within 0.18 points of each other.
Read the two tables as one design decision made twice. Ume puts 74% of its opens on the two cheapest items and spreads the rest up a gentle ladder; Matsu puts 84% on its two cheapest, makes its floor half as generous, and pays for that with a ×20 dragon fifteen times in a thousand and a ×250 phoenix twice in ten thousand. Same price, two shapes. A player who wants to open fifty bags and keep most of the money chooses Ume; a player who wants one open to be able to matter chooses Matsu. Neither is cheaper.
One number, one bag
The draw is the simplest in the engine. The round’s hash gives one uniform number; multiply it by a million and round down, and you have an integer between 0 and 999,999. Walk down the bag’s item list adding weights: the first item whose cumulative weight exceeds the roll is the one you opened. That is the entire mechanism. There is no reel physics, no stop position, no second draw. The animation that follows spins reels for effect, and the result it lands on was decided before it started.
Two consequences follow, and both are worth knowing before you open. First, order matters only for the arithmetic, not for the odds: an item’s chance is its weight, wherever it sits in the list, because the roll is uniform. Second, a bag is exactly as verifiable as a dice roll, because it is one: reveal the seed, recompute the single hash, walk the table, and you have the item. The verifier uses the same function.
Why every bag pays
The floor is the one thing that distinguishes fukubukuro from a lottery ticket, and it is a deliberate choice with a cost. An item worth ×0.20 is a loss of 80% of the price, which is a worse outcome than most losing spins on a slot, and yet it is not nothing, and nothing is what a lottery ticket usually is. The design borrows the shop’s idea that a sealed bag should never be empty, and pays for it by making the common items cheap: the towel and the amulet together cost Ume 0.235 of its 0.966 return, money that in a zero-floor game would go to the top of the ladder instead.
- The floor is a feature, not a kindness. It moves return from the rare items to the common ones. The bag is not more generous for it; it is differently shaped.
- “Always pays something” is not “usually pays back”. Ume returns at least the price about one open in four, Matsu about one in six. Most bags are worth less than they cost, as the return figure already says.
- The two bags are the same price. Choosing Matsu over Ume changes how the 3.3% edge is collected, not how much. Read the shape you want and open that one.
What is Fukubukuro on this site?
A one-draw game: pay the bag price, open it, receive an item worth a fixed multiple of the price. Two bags, Ume with eight items up to ×100 and Matsu with seven items up to ×250.
What does each bag return?
Ume 96.6% and Matsu 96.78% of the price on average, computed from the engine’s weight tables as chance × payout summed over the items.
Does every bag really pay something?
Yes. The cheapest item is ×0.20 of the price in Ume and ×0.10 in Matsu, so an open never returns zero. Most opens return less than the price: Ume pays at least the price on about 26% of opens, Matsu on about 16%.
How is the item chosen?
One number from the round’s hash, scaled to an integer between 0 and 999,999, is compared against the bag’s cumulative weights in millionths. The first item whose cumulative weight exceeds the roll is the result. The reel animation afterwards is display only.
Which bag is better?
Neither, by return. Ume is the steadier shape with a ×100 top; Matsu has a harsher floor and a ×250 top. They differ in volatility at nearly the same price.
- Betkyo engine source: fuku/derive.ts (UME_ITEMS, MATSU_ITEMS, FUKU_BAGS, deriveFuku), _shared/demoLocal.ts (demoFukuOpen)
- The at-least-price figures are sums of the ×1-and-above weights computed for this article: 260,000 / 1,000,000 for Ume and 160,000 / 1,000,000 for Matsu



