feat: chart2/3/4 + section 5 (regional breakdown)

- chart2_leaders: horizontal ranked bars with highlight & category coloring
- chart3_ebitdaGroups: vertical bars colored by sign (green ≥0, orange <0)
- chart4_regionCompare: side-by-side bar panels with shared y-scale
- document.js: new section 5 'Региональный разрез и эффективность' between
  sections 4 and 6, renders chart2/3/4 with figure captions
- index.js: render hooks for data.leaders, data.ebitda, data.regionComparison
- examples/russia.js: demo data for all three new charts
This commit is contained in:
Ник
2026-06-08 16:34:07 +03:00
parent 0255d2591d
commit a0af0ba772
6 changed files with 419 additions and 0 deletions
+57
View File
@@ -145,6 +145,59 @@ async function main () {
['IV кв. 2026', '30,0', '33,5', '-11,7', '158', { text: 'Пессимистичный', color: 'C0272D' }],
]
},
// chart2 — лидеры по цене (горизонтальные бары)
leaders: {
title: 'Лидеры по закупочной цене',
unit: 'руб./кг',
highlightName: 'РФ (среднее)',
items: [
{ name: 'Кабардино-Балкария', value: 49.0 },
{ name: 'Брянская обл.', value: 46.5 },
{ name: 'Псковская обл.', value: 44.0 },
{ name: 'Ленинградская обл.', value: 42.5 },
{ name: 'Краснодарский край', value: 40.0 },
{ name: 'РФ (среднее)', value: 34.1 },
{ name: 'Нижегородская обл.', value: 30.5 },
{ name: 'Самарская обл.', value: 29.0 },
{ name: 'Республика Татарстан', value: 28.5 },
{ name: 'Чувашия', value: 22.0 },
],
},
// chart3 — EBITDA-маржа по группам эффективности
ebitda: {
groups: [
{ group: 'A', value: 22.0, label: 'Эффективные', share: '25%' },
{ group: 'B', value: 8.5, label: 'Средние', share: '45%' },
{ group: 'C', value: -6.0, label: 'Отстающие', share: '30%' },
],
},
// chart4 — сравнение регионов (две панели)
regionComparison: {
unit: 'руб./кг',
left: {
title: 'Топ-5 по цене',
bars: [
{ label: 'Кабардино-Балкария', value: 49.0 },
{ label: 'Брянская обл.', value: 46.5 },
{ label: 'Псковская обл.', value: 44.0 },
{ label: 'Ленинградская обл.', value: 42.5 },
{ label: 'Краснодарский край', value: 40.0 },
],
},
right: {
title: 'Антитоп-5 по цене',
bars: [
{ label: 'Нижегородская обл.', value: 30.5 },
{ label: 'Ивановская обл.', value: 29.8 },
{ label: 'Самарская обл.', value: 29.0 },
{ label: 'Татарстан', value: 28.5 },
{ label: 'Чувашия', value: 22.0 },
],
},
},
},
text: {
@@ -172,6 +225,10 @@ async function main () {
retrospectiveSummary: 'В 2024 году национальный DT-индекс показал стабильный медленный рост: 30,97 → 31,93 руб./кг (+3% за год). В феврале–марте 2025 произошёл резкий скачок: за 10 дней индекс вырос с 32,2 до 38,9 руб./кг (+21%). К апрелю достиг плато 39,8 руб./кг, удерживалось до декабря 2025. В январе–мае 2026 — нисходящая коррекция до 34,1 руб./кг (–13,5% с начала года).',
regionalSummary: 'Региональный разброс закупочных цен в 2026 г. — рекордный: от 22 руб./кг (Чувашия) до 49 руб./кг (Кабардино-Балкария), спред 27 руб./кг. Высокие цены концентрируются в СКФО и западном поясе ЦФО/СЗФО, где сильна конкуренция переработчиков за сырьё. Низкие — в Поволжье с профицитом сырого молока.',
efficiencySummary: 'Группа A (эффективные, надой >9 000 кг/гол.) сохраняет двузначную EBITDA-маржу даже при текущих ценах. Группа C (отстающие, надой <6 000 кг/гол.) уже работает в убыток и наиболее уязвима к дальнейшему снижению цены и росту ставки ЦБ.',
forecastSummary: 'В базовом сценарии большинство производителей сохранят маржу 5–10%. В оптимистичном (цена до 36–37 руб./кг) даже менее эффективные хозяйства выйдут в плюс. В пессимистичном убытки накопят 30–40% предприятий.',
risks: [