market 2026 update: Kuppersberg budget default, Haier mid, full RF brand realism

PODBOR_SINGLE_BRAND_OPTIONS (single-brand kitchen picker):
- Premium: + Gaggenau ⚠, V-Zug ⚠, Liebherr ⚠ (all parallel-import)
- Middle: + NEFF ⚠, Haier  marked recommended
- Budget: + Kuppersberg  recommended, Maunfeld, Weissgauff, Gorenje, Hotpoint, Indesit, Midea, Candy
- Removed budget-only Бирюса/Pozis/DEXP (not popular in built-in segment)

PODBOR_BRANDS per category — fully refreshed with realistic 2026 lists:
- Coffee: Bosch/Siemens/NEFF in mid, Kuppersberg/Maunfeld in budget (instead of obscure ones)
- All categories now include Kuppersberg/Maunfeld/Weissgauff in budget tier
- Premium adds Gaggenau, V-Zug consistently

AI PROMPT — new section 'РЫНОК РФ 2026':
- Documents exact tier composition with brands and price ranges
- 'Типичный выбор клиента ЗОВ-СПб: Bosch + Haier + Maunfeld'
- Premium combo: Bosch + Miele washer (для кухонь 600к+)
- Trends: parallel import normalized, Haier #2 after Bosch, Kuppersberg builder default
- СВЧ category fading — combined ovens with microwave taking over
- Induction wins, gas only in private houses

EXAMPLES в prompt expanded:
- Haier C4F744CMG, Kuppersberg NRS 1857 X, Maunfeld MBL 88LU, Weissgauff WBI 30 ATX
- Clear 'НЕ выдуманное' guidance
This commit is contained in:
wasrusgen 2026-05-11 20:23:45 +03:00
parent c97b8dce3c
commit da8a98f34f
3 changed files with 99 additions and 58 deletions

View File

@ -51,6 +51,29 @@ def _get_token() -> str:
SYSTEM_PROMPT_PICKER = ( SYSTEM_PROMPT_PICKER = (
"Ты — эксперт-консультант по подбору кухонной техники для фабрики мебели «ЗОВ».\n" "Ты — эксперт-консультант по подбору кухонной техники для фабрики мебели «ЗОВ».\n"
"Помогаешь менеджерам салонов согласовать с клиентом комплект техники.\n\n" "Помогаешь менеджерам салонов согласовать с клиентом комплект техники.\n\n"
"═══ РЫНОК РФ 2026 — что реально берут ═══\n"
"**💎 Премиум (от 100к ₽ за позицию)**:\n"
" - Miele, Gaggenau, V-Zug, Smeg, Asko, Liebherr — ВСЕ через параллельный импорт (⚠ гарантия только продавца, ожидание 4-8 недель)\n"
"**★ Средний — цена/качество (40-100к ₽)**:\n"
" - Bosch ⚠, Siemens ⚠, NEFF ⚠ — через параллельный, цены +15-30% к официальным\n"
" - **Haier (Китай) ⭐** — фактически №2 после Bosch, лучшее цена/качество 2025-2026, особенно холодильники и стиралки\n"
" - Electrolux, AEG — официально остались, проблем со снабжением нет\n"
" - LG, Samsung — крупные холодильники и СВЧ, доступны\n"
"**₽ Бюджет (15-40к ₽ за позицию)**:\n"
" - **Kuppersberg ⭐** — российско-немецкий, частично сборка в РФ, ОЧЕНЬ популярен в кухнях ЗОВ-уровня и у застройщиков. ДЕФОЛТНЫЙ выбор в бюджете.\n"
" - Maunfeld — росс./китайская сборка, агрессивно растёт\n"
" - Weissgauff — то же, активный маркетинг\n"
" - Korting (итало-китайский), Hansa (Польша/Турция), Beko (Турция)\n"
" - Gorenje (концерн Hisense), Hotpoint/Indesit (Whirlpool)\n"
" - Hisense, Midea, Candy/Hoover, Atlant (Беларусь, холодильники)\n\n"
"**Типичный ВЫБОР клиента ЗОВ-СПб**: Bosch + Haier + Maunfeld (компромисс).\n"
"**Премиум-комбо**: Bosch + Miele посудомойка (для кухонь 600к+).\n\n"
"**Тренды 2026**:\n"
" 1. Параллельный импорт стал нормой — Bosch/Siemens/Miele покупают спокойно, но без офиц. гарантии\n"
" 2. Китай вытеснил немцев в среднем сегменте — Haier #2 после Bosch\n"
" 3. Российско-немецкие бренды (Kuppersberg, Maunfeld, Weissgauff) — массовый выбор в новостройках\n"
" 4. СВЧ как отдельная категория теряет популярность — клиенты берут духовку с функцией СВЧ\n"
" 5. Индукция окончательно победила — газ только в частных домах, Hi-Light уходит в эконом\n\n"
"═══ ВХОДНЫЕ ДАННЫЕ ═══\n" "═══ ВХОДНЫЕ ДАННЫЕ ═══\n"
"В `checklist` получаешь:\n" "В `checklist` получаешь:\n"
" • `categories[]` — какие категории подбираем (fridge, hob, oven, dw, hood, microwave, coffee, washer)\n" " • `categories[]` — какие категории подбираем (fridge, hob, oven, dw, hood, microwave, coffee, washer)\n"
@ -135,8 +158,16 @@ SYSTEM_PROMPT_PICKER = (
' "next_steps": ["рекомендации для менеджера: что уточнить с клиентом, что проверить на замере"]\n' ' "next_steps": ["рекомендации для менеджера: что уточнить с клиентом, что проверить на замере"]\n'
"}\n\n" "}\n\n"
"═══ КРИТИЧНО ═══\n" "═══ КРИТИЧНО ═══\n"
"1. **Реальные модели**: артикулы должны существовать в природе (Haier C4F744CMG, Bosch Serie 4 KGN39NW00R, Liebherr CNd 5223 — НЕ «Bosch X-200» и НЕ «Haier выгодный»).\n" "1. **Реальные модели**: артикулы должны существовать в природе:\n"
"2. **РЕАЛИИ РФ 2026**: Bosch/Siemens/Miele идут параллельным импортом — их цена в РФ выше официальных на 15-30%. Учитывай это.\n" " - Haier C4F744CMG, Haier HRF-541DM7RU (холодильники)\n"
" - Bosch Serie 4 KGN39NW00R ⚠, Liebherr CNd 5223 ⚠\n"
" - Kuppersberg NRS 1857 X (фридж), Kuppersberg HM 612 BG (плита)\n"
" - Maunfeld MBL 88LU, MOC.HF09L1MX (хорошие линейки)\n"
" - Weissgauff WBI 30 ATX, WS 519 (популярные)\n"
" - НЕ «Bosch X-200», НЕ «Haier выгодный», НЕ выдуманное\n"
"2. **РЕАЛИИ РФ 2026**: Bosch/Siemens/NEFF/Miele идут параллельным импортом — их цена в РФ выше официальных на 15-30%. Учитывай это.\n"
" - **Kuppersberg = дефолтный бюджет** для ЗОВ-клиентов, активно используется застройщиками\n"
" - **Haier = лучшая средняя цена/качество**, особенно в холодильниках и стиралках\n"
"3. **Pros с числами**: НЕ «тихий» — а «36 дБ». НЕ «энергоэффективный» — а «класс A++, ~30% экономии». НЕ «вместительный» — а «463 л».\n" "3. **Pros с числами**: НЕ «тихий» — а «36 дБ». НЕ «энергоэффективный» — а «класс A++, ~30% экономии». НЕ «вместительный» — а «463 л».\n"
"4. **Cons обязательны**: даже у лучших моделей есть недостатки. Если cons пусто — модель не выбрана. Конкретные минусы: габарит больше ниши, шумнее на 2 дБ, без какой-то функции, цена выше на N%, длительная гарантия только N лет.\n" "4. **Cons обязательны**: даже у лучших моделей есть недостатки. Если cons пусто — модель не выбрана. Конкретные минусы: габарит больше ниши, шумнее на 2 дБ, без какой-то функции, цена выше на N%, длительная гарантия только N лет.\n"
"5. **Reasoning**: 1 предложение «почему именно эта модель в этом наборе» — позиционирование относительно других в выдаче.\n" "5. **Reasoning**: 1 предложение «почему именно эта модель в этом наборе» — позиционирование относительно других в выдаче.\n"

View File

@ -50,33 +50,43 @@ const PODBOR_BRAND_STRATEGY = [
{ key: "different", label: "Разные марки по категориям", hint: "соберём оптимальный микс" }, { key: "different", label: "Разные марки по категориям", hint: "соберём оптимальный микс" },
]; ];
/* Бренды, у которых есть полная линейка кухонной техники, реально доступные в РФ (2026). /* Бренды для single-brand-кухни, актуально на 2026 (РФ).
tier: premium / middle / budget · note: "available" | "parallel" (параллельный импорт). */ параллельный импорт. recommended частый выбор для кухонь ЗОВ-СПб. */
const PODBOR_SINGLE_BRAND_OPTIONS = [ const PODBOR_SINGLE_BRAND_OPTIONS = [
// Премиум — официально или через параллельный импорт // 💎 Премиум (от 100к ₽ за позицию)
{ key: "miele", label: "Miele", tier: "premium", note: "parallel" }, { key: "miele", label: "Miele ⚠", tier: "premium", note: "parallel" },
{ key: "asko", label: "Asko", tier: "premium", note: "available" }, { key: "gaggenau", label: "Gaggenau ⚠", tier: "premium", note: "parallel" },
{ key: "smeg", label: "Smeg", tier: "premium", note: "parallel" }, { key: "vzug", label: "V-Zug ⚠", tier: "premium", note: "parallel" },
{ key: "gorenje", label: "Gorenje", tier: "premium", note: "available" }, { key: "smeg", label: "Smeg ⚠", tier: "premium", note: "parallel" },
{ key: "asko", label: "Asko", tier: "premium", note: "available" },
{ key: "liebherr", label: "Liebherr ⚠", tier: "premium", note: "parallel" },
// Средний — реально работающие бренды // ★ Средний — цена/качество (40100к ₽)
{ key: "haier", label: "Haier", tier: "middle", note: "available" }, { key: "bosch", label: "Bosch ⚠", tier: "middle", note: "parallel" },
{ key: "samsung", label: "Samsung", tier: "middle", note: "available" }, { key: "siemens", label: "Siemens ⚠", tier: "middle", note: "parallel" },
{ key: "lg", label: "LG", tier: "middle", note: "available" }, { key: "neff", label: "NEFF ⚠", tier: "middle", note: "parallel" },
{ key: "korting", label: "Körting", tier: "middle", note: "available" }, { key: "haier", label: "Haier", tier: "middle", note: "available", recommended: true },
{ key: "midea", label: "Midea", tier: "middle", note: "available" }, { key: "electrolux", label: "Electrolux", tier: "middle", note: "available" },
{ key: "bosch", label: "Bosch ⚠", tier: "middle", note: "parallel" }, { key: "aeg", label: "AEG", tier: "middle", note: "available" },
{ key: "siemens", label: "Siemens ⚠", tier: "middle", note: "parallel" }, { key: "lg", label: "LG", tier: "middle", note: "available" },
{ key: "samsung", label: "Samsung", tier: "middle", note: "available" },
// Бюджет — российские/китайские // ₽ Бюджет (1540к ₽ за позицию)
{ key: "biryusa", label: "Бирюса", tier: "budget", note: "available" }, { key: "kuppersberg", label: "Kuppersberg", tier: "budget", note: "available", recommended: true },
{ key: "atlant", label: "Атлант", tier: "budget", note: "available" }, { key: "maunfeld", label: "Maunfeld", tier: "budget", note: "available" },
{ key: "pozis", label: "Pozis", tier: "budget", note: "available" }, { key: "weissgauff", label: "Weissgauff", tier: "budget", note: "available" },
{ key: "hisense", label: "Hisense", tier: "budget", note: "available" }, { key: "korting", label: "Körting", tier: "budget", note: "available" },
{ key: "hansa", label: "Hansa", tier: "budget", note: "available" }, { key: "gorenje", label: "Gorenje", tier: "budget", note: "available" },
{ key: "dexp", label: "DEXP", tier: "budget", note: "available" }, { key: "hansa", label: "Hansa", tier: "budget", note: "available" },
{ key: "beko", label: "Beko", tier: "budget", note: "available" },
{ key: "hotpoint", label: "Hotpoint", tier: "budget", note: "available" },
{ key: "indesit", label: "Indesit", tier: "budget", note: "available" },
{ key: "hisense", label: "Hisense", tier: "budget", note: "available" },
{ key: "midea", label: "Midea", tier: "budget", note: "available" },
{ key: "candy", label: "Candy", tier: "budget", note: "available" },
{ key: "atlant", label: "Атлант", tier: "budget", note: "available" },
{ key: "ai_pick", label: "Пусть AI выберет под бюджет", recommended: true }, { key: "ai_pick", label: "Пусть AI выберет под бюджет", recommended: true },
]; ];
/* Доля бюджета каждой категории от полного комплекта (для адаптивных вилок). */ /* Доля бюджета каждой категории от полного комплекта (для адаптивных вилок). */
@ -669,47 +679,47 @@ const PODBOR_PARAMS = {
}, },
}; };
/* Бренды по категориям (актуально на 2026, РФ). /* Бренды по категориям, актуально на 2026 РФ.
параллельный импорт, остальные официально доступны. */ параллельный импорт; остальные официально доступны. */
const PODBOR_BRANDS = { const PODBOR_BRANDS = {
fridge: { fridge: {
premium: ["Miele ⚠", "Liebherr ⚠", "Asko", "Gorenje"], premium: ["Miele ⚠", "Liebherr ⚠", "Gaggenau ⚠", "V-Zug ⚠", "Asko"],
middle: ["Haier", "Samsung", "LG", "Korting", "Bosch ⚠", "Siemens ⚠"], middle: ["Bosch ⚠", "Siemens ⚠", "NEFF ⚠", "Haier", "LG", "Samsung", "Electrolux", "AEG"],
budget: ["Бирюса", "Атлант", "Pozis", "Hisense", "Indesit", "Hansa"], budget: ["Kuppersberg", "Maunfeld", "Weissgauff", "Hansa", "Beko", "Gorenje", "Hotpoint", "Indesit", "Hisense", "Атлант"],
}, },
hob: { hob: {
premium: ["Miele ⚠", "Asko", "Gorenje", "Smeg ⚠"], premium: ["Miele ⚠", "Gaggenau ⚠", "Asko", "Smeg ⚠"],
middle: ["Korting", "Haier", "Midea", "Bosch ⚠", "Siemens ⚠"], middle: ["Bosch ⚠", "Siemens ⚠", "NEFF ⚠", "Haier", "Electrolux", "AEG"],
budget: ["Hansa", "Hisense", "DEXP", "Дарина"], budget: ["Kuppersberg", "Maunfeld", "Weissgauff", "Korting", "Hansa", "Beko", "Gorenje", "Midea"],
}, },
oven: { oven: {
premium: ["Miele ⚠", "Asko", "Gorenje", "Smeg ⚠"], premium: ["Miele ⚠", "Gaggenau ⚠", "NEFF ⚠", "Asko", "Smeg ⚠"],
middle: ["Korting", "Haier", "Midea", "Samsung", "Bosch ⚠"], middle: ["Bosch ⚠", "Siemens ⚠", "Haier", "Electrolux", "AEG"],
budget: ["Hansa", "Hisense", "DEXP", "Дарина"], budget: ["Kuppersberg", "Maunfeld", "Weissgauff", "Korting", "Hansa", "Beko", "Gorenje"],
}, },
dw: { dw: {
premium: ["Miele ⚠", "Asko", "Gorenje"], premium: ["Miele ⚠", "Asko", "V-Zug ⚠"],
middle: ["Haier", "Midea", "Korting", "Bosch ⚠"], middle: ["Bosch ⚠", "Siemens ⚠", "NEFF ⚠", "Electrolux", "Haier", "Whirlpool"],
budget: ["Hansa", "Hisense", "Indesit"], budget: ["Kuppersberg", "Maunfeld", "Weissgauff", "Hansa", "Beko", "Gorenje", "Indesit", "Candy"],
}, },
hood: { hood: {
premium: ["Miele ⚠", "Falmec ⚠", "Faber ⚠", "Gorenje"], premium: ["Miele ⚠", "Falmec ⚠", "Faber ⚠", "Smeg ⚠"],
middle: ["Korting", "Maunfeld", "Elikor", "Haier"], middle: ["Bosch ⚠", "Siemens ⚠", "Elica ⚠", "Haier"],
budget: ["Hansa", "Hisense", "DEXP", "Krona"], budget: ["Kuppersberg", "Maunfeld", "Weissgauff", "Elikor", "Hansa", "Krona", "Korting"],
}, },
microwave: { microwave: {
premium: ["Miele ⚠", "Asko"], premium: ["Miele ⚠", "NEFF ⚠"],
middle: ["Samsung", "LG", "Haier", "Midea", "Bosch ⚠"], middle: ["Bosch ⚠", "Siemens ⚠", "Samsung", "LG", "Haier"],
budget: ["Hansa", "Hisense", "DEXP", "Polaris"], budget: ["Kuppersberg", "Maunfeld", "Weissgauff", "Hansa", "Midea", "Whirlpool"],
}, },
coffee: { coffee: {
premium: ["Miele ⚠", "Jura ⚠", "Saeco ⚠"], premium: ["Miele ⚠", "Jura ⚠", "Smeg ⚠"],
middle: ["De'Longhi ⚠", "Philips ⚠", "Polaris", "Bork ⚠"], middle: ["Bosch ⚠", "Siemens ⚠", "NEFF ⚠", "De'Longhi ⚠"],
budget: ["Polaris", "Redmond", "Kitfort"], budget: ["Kuppersberg", "Maunfeld", "Polaris", "Redmond", "Kitfort"],
}, },
washer: { washer: {
premium: ["Miele ⚠", "Asko", "Gorenje"], premium: ["Miele ⚠", "Asko", "V-Zug ⚠"],
middle: ["Haier", "Samsung", "LG", "Korting", "Bosch ⚠"], middle: ["Bosch ⚠", "Siemens ⚠", "Haier", "LG", "Samsung", "Electrolux"],
budget: ["Атлант", "Indesit", "Hansa", "Hisense"], budget: ["Kuppersberg", "Maunfeld", "Weissgauff", "Hansa", "Beko", "Indesit", "Атлант", "Candy"],
}, },
}; };

View File

@ -12,8 +12,8 @@
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Geist:wght@400;500;600&family=Newsreader:ital,wght@0,400..600;1,400..600&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Geist:wght@400;500;600&family=Newsreader:ital,wght@0,400..600;1,400..600&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap">
<script src="https://telegram.org/js/telegram-web-app.js"></script> <script src="https://telegram.org/js/telegram-web-app.js"></script>
<link rel="stylesheet" href="assets/styles.css?v=20260511k"> <link rel="stylesheet" href="assets/styles.css?v=20260511L">
<link rel="stylesheet" href="assets/podbor.css?v=20260511k"> <link rel="stylesheet" href="assets/podbor.css?v=20260511L">
</head> </head>
<body> <body>
<main id="app"> <main id="app">
@ -21,10 +21,10 @@
<div class="spinner"></div> <div class="spinner"></div>
</div> </div>
</main> </main>
<script src="assets/icons.js?v=20260511k"></script> <script src="assets/icons.js?v=20260511L"></script>
<script src="assets/podbor.config.js?v=20260511k"></script> <script src="assets/podbor.config.js?v=20260511L"></script>
<script src="assets/podbor.picts.js?v=20260511k"></script> <script src="assets/podbor.picts.js?v=20260511L"></script>
<script src="assets/podbor.js?v=20260511k"></script> <script src="assets/podbor.js?v=20260511L"></script>
<script src="assets/app.js?v=20260511k"></script> <script src="assets/app.js?v=20260511L"></script>
</body> </body>
</html> </html>