FCT-007
Which lever to pull: more chances or a better rate
Payout is chances times value per chance times the rate. Users feel the count and barely notice the rate, so the count is the lever that changes behaviour.
A faucet's payout decomposes into three numbers you control: how many chances a user gets, what a chance is worth on average, and what your internal unit converts to in money.
They multiply, so any of them can hit the same total. They do not feel the same. Twenty spins at a modest value reads as generous; one spin at twenty times the value reads as stingy, and the user who got one spin will say so.
So when you can afford to give more, give more chances. When you have to take back, take it from the rate — quietly, in a settings field — rather than from the count, which people watch.
/**
* payout = chances x value_per_chance x usd_per_unit
*
* Fix the payout you can afford, then choose how to spend it.
*/
function payout_shapes(float $affordableUsdPerCompletion, float $usdPerUnit, float $unitsPerChance): array
{
$totalUnits = $affordableUsdPerCompletion / max($usdPerUnit, 1e-12);
$chances = (int) floor($totalUnits / max($unitsPerChance, 1));
return [
// Same money, three shapes. The first one feels best.
'many_small' => ['chances' => $chances, 'per_chance' => $unitsPerChance],
'balanced' => ['chances' => max(1, (int) ($chances / 4)), 'per_chance' => $unitsPerChance * 4],
'one_big' => ['chances' => 1, 'per_chance' => $totalUnits],
'total_units' => (int) $totalUnits,
];
}
// Worked through: at $0.0005 per completion and a unit worth 1e-7 USD,
// a completion is affordable at 5,000 units. Granting 20 chances of ~250 units
// costs the same as 1 chance of 5,000 — and returns the user to the site
// twenty times instead of once.
Using it
Make the count a setting, so you can raise it for a week and watch retention without a deploy.
If you must cut, cut the rate and say nothing dramatic about it; cutting the count is visible and generates complaints out of proportion to the money.
Watch average chances used per session. If people stop before using them all, more chances is not the lever — the loop is too slow.
What bites people
Raising the count without lowering value per chance raises the real payout proportionally. These numbers multiply; change one at a time and measure.
A floor of at least one unit per chance matters. A chance that pays nothing visible is worse than no chance.
Do not reason in the internal unit when talking to yourself about affordability. Convert to money first, every time.
This one touches real money. Point it at a throwaway wallet and watch a full cycle before you trust it with a live balance.