Add luxury/vertical signal to auto-tiering
pick_baseline now applies a premium floor: if prospect.vertical matches rate_card.tiering.premium_verticals (luxury/premium/deluxe/5성/특1급…), the auto-selected tier is floored to premium_min_tier (default basic) so a premium single property won't drop to the smb entry tier. Validated: L'Escape (hotel_luxury, 1 property) smb -> basic (₩10.5M); non-luxury single -> smb (₩3.0M); SHR chain -> treatment (₩29.5M) unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,8 +8,10 @@ floored to `rounding_unit`. Mirrors OurDigital/D.intelligence's real SOW-based q
|
||||
- `treatment` if `properties_total > 5` OR `subbrands_total > 3` (multi-brand / chain)
|
||||
- `smb` if `properties_total <= 1` AND `subbrands_total == 0` (single-property SMB)
|
||||
- `basic` otherwise (small multi-property / mid)
|
||||
- override with `--baseline`. **Note:** tiering is by portfolio size only — quote a
|
||||
single *premium* property as `basic`/`treatment` manually.
|
||||
- **Premium floor:** if `prospect.vertical` matches `rate_card.tiering.premium_verticals`
|
||||
(luxury/premium/deluxe/5성/특1급…), the auto-tier is floored to `tiering.premium_min_tier`
|
||||
(default `basic`) — a luxury single property won't auto-drop to `smb`.
|
||||
- override with `--baseline`.
|
||||
|
||||
Per-tier billing: `smb` uses `billing_rate: 0.55` (set in sow_templates); `basic`/
|
||||
`treatment` use `rate_card.billing_rate` (0.70). Override with `--billing`.
|
||||
|
||||
Reference in New Issue
Block a user