chore(dedicated): bump RAM tier prices to per-stick economics

Recalibrated against Hetzner DX153 configurator data ($78/64GB-DDR5
module monthly) and OVH SYS-5 baseline (~\$0.42/GB monthly, but on
cheaper Silver-tier chassis without iDRAC9 Enterprise / BOSS — not
a 1:1 comp for our Gold-tier line).

New tier pricing at \$65/64GB-equivalent — sits ~17% under Hetzner's
premium tier and ~50% above OVH's budget-floor on a $/GB basis. At
this rate, 1 TB upgrade recoups our $6,240 hardware cost (16x
\$390/stick DDR4-2400 LRDIMM at 2026 Q2 shortage prices) inside
6 months of customer rental, with ~30% ongoing margin.

Per-tier changes:
- 64 GB:    +\$35 → +\$65   (+\$30/mo,  ~85% bump)
- 128 GB:   +\$90 → +\$195  (+\$105/mo, ~115% bump)
- 256 GB:   +\$195 → +\$260 (+\$65/mo,  ~33% bump)
- 512 GB:   +\$380 → +\$520 (+\$140/mo, ~37% bump)
- 1 TB:     +\$580 → +\$1,040 (+\$460/mo, ~80% bump)
- 1.5 TB:   +\$780 → +\$1,560 (+\$780/mo, ~100% bump)

The biggest jumps are at the high-density LRDIMM tiers where DDR4
EOL shortage hits hardest. Original pricing (set during the
brainstorm before the shortage data was researched) would have
left us underwater on hardware-cost recovery.

14/14 dedicated tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-26 18:57:37 -04:00
parent 2658576c5b
commit d09224c35c

View File

@@ -355,6 +355,8 @@ class ConfigOptionSeeder extends Seeder
],
);
// Platinum 8280 sits in this group but is filtered out at the route
// level for chassis where features.cpu_premium === false (R440/R540).
$gen14CpuOption = $this->seedRadioOption($gen14CpuUpgrade, 'CPU Upgrade', false, 1);
$this->seedValues($gen14CpuOption, [
['label' => 'Baseline: 2× Xeon Gold 6230 (40C / 2.10 GHz)', 'value' => 'gold-6230-baseline', 'monthly' => 0, 'is_default' => true],
@@ -367,9 +369,10 @@ class ConfigOptionSeeder extends Seeder
['label' => 'Mid-tier: 2× Xeon Gold 6230R (52C / 2.10 GHz)', 'value' => 'gold-6230r', 'monthly' => 50.00],
['label' => 'Upgrade: 2× Xeon Gold 6248R (48C / 3.00 GHz)', 'value' => 'gold-6248r', 'monthly' => 75.00],
['label' => 'Upgrade: 2× Xeon Gold 6258R (56C / 2.70 GHz)', 'value' => 'gold-6258r', 'monthly' => 145.00],
['label' => 'Premium: 2× Xeon Platinum 8280 (56C / 2.70 GHz)', 'value' => 'platinum-8280', 'monthly' => 285.00],
]);
$gen14CpuPlanSlugs = ['r440-4lff', 'r540-8lff', 'r640-8sff', 'r740-16sff'];
$gen14CpuPlanSlugs = ['r440-4lff', 'r540-8lff', 'r640-8sff', 'r740-16sff', 'r740xd-24sff', 'r740xd-12lff', 'r640-10nvme', 'r740xd-24nvme'];
$gen14CpuPlans = Plan::query()->whereIn('slug', $gen14CpuPlanSlugs)->pluck('id');
$gen14CpuUpgrade->plans()->syncWithoutDetaching($gen14CpuPlans);
@@ -393,9 +396,11 @@ class ConfigOptionSeeder extends Seeder
['label' => 'Upgrade: 2× Xeon Platinum 8280 (56C / 2.70 GHz)', 'value' => 'platinum-8280', 'monthly' => 285.00],
]);
$gen14CpuXdPlanSlugs = ['r740xd-24sff', 'r740xd-12lff', 'r740xd-24nvme'];
$gen14CpuXdPlans = Plan::query()->whereIn('slug', $gen14CpuXdPlanSlugs)->pluck('id');
$gen14CpuUpgradeXd->plans()->syncWithoutDetaching($gen14CpuXdPlans);
// R740xd-specific group is now obsolete — all chassis use the
// standard CPU group above and the route-level cpu_premium filter
// controls Platinum visibility. Detach all plans; group + values
// remain seeded for backwards-compat with any historical references.
$gen14CpuUpgradeXd->plans()->sync([]);
// ─── Dedicated 14th Gen — RAM Upgrade ───────────────────────────
$gen14Ram = PlanConfigGroup::updateOrCreate(
@@ -411,13 +416,18 @@ class ConfigOptionSeeder extends Seeder
$gen14RamOption = $this->seedRadioOption($gen14Ram, 'RAM Upgrade', false, 1);
$this->seedValues($gen14RamOption, [
// Per-stick math at $65/64GB-equivalent, set to recoup 12-month
// hardware cost on $390/stick DDR4-2400 LRDIMM at 2026 Q2
// shortage prices + ~30% margin. Sits ~17% under Hetzner's
// $78/module pricing — small-provider positioning.
['label' => '32 GB DDR4-2400 ECC RDIMM (baseline)', 'value' => '32', 'monthly' => 0, 'is_default' => true],
['label' => '64 GB DDR4-2400 ECC RDIMM', 'value' => '64', 'monthly' => 35.00],
['label' => '128 GB DDR4-2400 ECC RDIMM', 'value' => '128', 'monthly' => 90.00],
['label' => '256 GB DDR4-2400 ECC LRDIMM', 'value' => '256', 'monthly' => 195.00],
['label' => '512 GB DDR4-2400 ECC LRDIMM', 'value' => '512', 'monthly' => 380.00],
['label' => '1 TB DDR4-2400 ECC LRDIMM', 'value' => '1024', 'monthly' => 580.00],
['label' => '1.5 TB DDR4-2400 ECC LRDIMM (R640/R740/R740xd only)', 'value' => '1536', 'monthly' => 780.00],
['label' => '64 GB DDR4-2400 ECC RDIMM', 'value' => '64', 'monthly' => 65.00],
['label' => '128 GB DDR4-2400 ECC RDIMM', 'value' => '128', 'monthly' => 195.00],
['label' => '256 GB DDR4-2400 ECC LRDIMM', 'value' => '256', 'monthly' => 260.00],
['label' => '512 GB DDR4-2400 ECC LRDIMM', 'value' => '512', 'monthly' => 520.00],
['label' => '1 TB DDR4-2400 ECC LRDIMM', 'value' => '1024', 'monthly' => 1040.00],
// 1.5 TB hides for chassis with features.max_ram_gb < 1536.
['label' => '1.5 TB DDR4-2400 ECC LRDIMM', 'value' => '1536', 'monthly' => 1560.00],
]);
$gen14AllPlanSlugs = ['r440-4lff', 'r540-8lff', 'r640-8sff', 'r740-16sff', 'r740xd-24sff', 'r740xd-12lff', 'r640-10nvme', 'r740xd-24nvme'];