mirror of
https://github.com/olehomelchenko/bi-detective.git
synced 2026-06-24 00:07:47 +00:00
Replace synthetic port with relabeled BUS220 source (Ukrainian, brigade logistics framing)
This commit is contained in:
+79
-90
@@ -1,143 +1,132 @@
|
||||
// Quiz questions, observation/conclusion definitions, and dead-end lesson labels.
|
||||
// Ported from BUS220 BI Detective (Divvy bike-share) to ХАРТІЯ brigade-efficiency scenario.
|
||||
// Internal keys (yoyPositive, casualDropMore, etc.) preserved for game.js compatibility.
|
||||
// Питання вікторини, описи інсайтів і підсумкові тексти.
|
||||
// Це файл для редагування контенту гри.
|
||||
|
||||
const QUIZZES = {
|
||||
overview: {
|
||||
prompt: 'Поглянь на повний таймлайн ефективності та обсягу. Зростання з 62% до 71% — це дійсно покращення?',
|
||||
prompt: 'Подивись на повний таймлайн. Чи незвичним є падіння жовтень → листопад?',
|
||||
insightKey: 'yoyPositive',
|
||||
options: [
|
||||
{ text: 'Подивись на минулорічний листопад — ефективність тоді була ~62%, як і у жовтні цього року. Цьогоріч уперше з\'явився такий стрибок. Стрибок справжній — питання, що його викликало.', correct: true,
|
||||
feedback: 'Правильно. Минулого листопада ефективність була типова (~62%). Ця листопадова цифра 71% — справді нове явище. Тепер потрібно з\'ясувати, *чому*. Завжди питай: *"порівняно з чим?"*' },
|
||||
{ text: 'Так — це чисте покращення в роботі. Підрозділи стали ефективнішими.', correct: false,
|
||||
feedback: 'Не поспішай. *"Стало ефективніше"* — це остання з можливих відповідей, яку треба перевіряти, не перша. Спочатку виключи: сезонність, зміну композиції, шум, інший знаменник. Тут є дані за минулий рік — використай їх.' },
|
||||
{ text: 'Ні, скоріше за все це сезонна аномалія — кожного листопада ефективність зростає.', correct: false,
|
||||
feedback: 'Подивись на минулий листопад — там ефективність була ~62%, не 71%. Цей листопад — *перший*, де так високо. Сезонність не пояснює.' },
|
||||
{ text: 'Ні — торік у листопаді було подібне падіння. Це повторюваний сезонний патерн, і листопад 2023 насправді має більше рейсів, ніж листопад 2022.', correct: true,
|
||||
feedback: 'Правильно. Листопад 2023 має на +7,6% більше рейсів, ніж листопад 2022. Падіння жовтень → листопад трапляється щороку, коли холоднішає. Завжди питай: «Порівняно з чим?»' },
|
||||
{ text: 'Так — цьогорічне падіння різкіше, ніж торішнє, щось не так', correct: false,
|
||||
feedback: 'Порівняй цифри листопада: листопад 2022 мав ~330 тис. рейсів, листопад 2023 має ~355 тис. рейсів. Це зростання, а не спад. Падіння жовтень → листопад є сезонним і повторюється щороку.' },
|
||||
{ text: 'Важко сказати — потрібно більше років даних, щоб бути певним', correct: false,
|
||||
feedback: 'Більше років допомогло б, але навіть один попередній листопад показує той самий патерн. І листопад 2023 насправді має більше рейсів, ніж листопад 2022 — діяльність зростає рік до року.' },
|
||||
]
|
||||
},
|
||||
|
||||
dayofweek: {
|
||||
prompt: 'Чому в листопаді операцій менше? Може, за днями тижня щось видно?',
|
||||
prompt: 'Четвер просів зовсім трохи (-1%). Чи дає цей день якусь підказку?',
|
||||
insightKey: null, lessonKey: 'dayofweek',
|
||||
options: [
|
||||
{ text: 'Ні — обидва місяці мають різну кількість буднів і вихідних. У листопаді 2023 на один четвер більше, ніж у жовтні; це просто календарний артефакт.', correct: true,
|
||||
feedback: 'Правильно! Це календарний артефакт. Жовтень 2023 мав інший набір днів тижня, ніж листопад. Якщо нормалізувати на кількість днів кожного типу — падіння плюс-мінус рівномірне. Завжди перевіряй: чи однакова структура в порівнюваних періодах.' },
|
||||
{ text: 'Так — у середу/четвер виконують більше операцій, а в листопаді цих днів виявилось менше', correct: false,
|
||||
feedback: 'Поглянь на дні: у листопаді одних днів тижня більше, інших менше — порівняно з жовтнем. Це календарна аномалія, не змістовний патерн.' },
|
||||
{ text: 'Це нічого не пояснює — потрібно дивитись інші розрізи.', correct: false,
|
||||
feedback: 'Частково так, але календарну структуру варто завжди перевіряти першою — якраз щоб не списати на змістовний фактор те, що пояснюється календарем.' },
|
||||
{ text: 'Ні — у жовтні було 4 четверги, а в листопаді 5. Сирі суми вводять в оману, бо в місяцях різна кількість днів кожного дня тижня.', correct: true,
|
||||
feedback: 'Правильно! Це календарний артефакт. Жовтень 2023 мав 4 четверги, листопад 2023 — 5. Якщо нормалізувати на день, кожен день тижня просів на 20-40%. Завжди перевіряй, чи мають твої періоди порівняння однакову структуру.' },
|
||||
{ text: 'Так — четвер тримається стійко, можливо, в четвер відбувається щось особливе', correct: false,
|
||||
feedback: 'Полічи дні: жовтень 2023 мав 4 четверги, листопад 2023 — 5. Більше днів = більше рейсів, тому четвер виглядає стабільним. Якщо рахувати на один четвер, рейсів насправді стало менше на ~30%, як і в інші дні.' },
|
||||
{ text: 'Розкид між днями тижня свідчить, що день тижня — важливий фактор спаду', correct: false,
|
||||
feedback: 'Розкид — переважно календарний артефакт: різні місяці мають різну кількість кожного дня тижня. Якщо нормалізувати (рейси на день), падіння більш-менш рівномірне — 20-40%.' },
|
||||
]
|
||||
},
|
||||
|
||||
hourly: {
|
||||
prompt: 'А за часом доби — що змінилось між жовтнем і листопадом?',
|
||||
prompt: 'Чи показує погодинний розподіл, що саме змінилося між жовтнем і листопадом?',
|
||||
insightKey: null, lessonKey: 'hourly',
|
||||
options: [
|
||||
{ text: 'Нічого — форма крива та сама, просто рівень нижчий. Денний пік на тих самих годинах, нічна тиша так само. Це зміна обсягу, не патерну.', correct: true,
|
||||
feedback: 'Правильно. Коли дві криві ідентичні за формою і відрізняються лише висотою — час доби нічого не пояснює. Це чиста зміна обсягу, не зміна поведінки. Шукай розрізи, де *форма* змінюється.' },
|
||||
{ text: 'Активність вечорами впала — мабуть, через темряву раніше', correct: false,
|
||||
feedback: 'Подивись уважніше: листопадова крива нижча по всіх годинах, не лише ввечері. Денні піки та нічні мінімуми — ті самі. Темрява не пояснює рівномірне падіння.' },
|
||||
{ text: 'Ранкові операції зросли — нові тактики', correct: false,
|
||||
feedback: 'Ранкові години в листопаді нижчі за жовтневі в абсолюті, як і всі інші. Форма та сама, ніщо не зросло.' },
|
||||
{ text: 'Ні — та сама форма кривої, лише нижча. Денний патерн не змінився; впав тільки обсяг.', correct: true,
|
||||
feedback: 'Правильно. Коли дві криві мають однакову форму, час доби не пояснює зміну. Це зсув обсягу, а не зсув поведінки. Шукай виміри, де змінюється сама форма.' },
|
||||
{ text: 'Вечірні рейси обвалилися — менше світлового дня може виганяти людей із потоку', correct: false,
|
||||
feedback: 'Листопадова крива нижча всюди, не тільки ввечері. Обидві криві мають однакову форму — піки, западини, усе однакове. Жодного специфічного вечірнього обвалу немає.' },
|
||||
{ text: 'Просіли пікові години — можливо, більше людей працює дистанційно', correct: false,
|
||||
feedback: 'Ранкові й вечірні пікові години чітко видно і в листопаді, просто нижчими. Форма ідентична жовтню — патерн виїздів не змінився.' },
|
||||
]
|
||||
},
|
||||
|
||||
biketypes: {
|
||||
prompt: 'Розріз за категоріями операцій. Що тут видно?',
|
||||
insightKey: null, lessonKey: 'biketypes',
|
||||
vehicletypes: {
|
||||
prompt: 'Чи пояснює розбивка за класом техніки падіння рейсів?',
|
||||
insightKey: null, lessonKey: 'vehicletypes',
|
||||
options: [
|
||||
{ text: 'Кількість операцій у кожній категорії впала — окрім підготовчих (тренування, логістика), які навпаки виросли. Категорії змінились по-різному.', correct: true,
|
||||
feedback: 'Правильно. Це і є ключ — категорії рухаються в різні боки. Тренування і логістика — *виросли* в обсязі. Розвідка, вогневе ураження, оборонні дії — *впали*. Це не просто зменшення активності — це структурна зміна. Іди далі: подивись частки.' },
|
||||
{ text: 'Усі категорії впали приблизно однаково — це не пояснює зміну ефективності', correct: false,
|
||||
feedback: 'Подивись точніше — тренування і логістика *зросли* в кількості, не впали. Це важлива асиметрія.' },
|
||||
{ text: 'Оборонні дії впали найсильніше, але це звичайна сезонність', correct: false,
|
||||
feedback: 'Падіння оборонних — справжнє і дуже сильне (-66%). Але «звичайна сезонність» — це твоя інтерпретація без перевірки. Спитай: яка частка кожної категорії була до і стала після?' },
|
||||
{ text: 'Ні — обидва класи техніки впали разом. Цей вимір не пояснює варіацію.', correct: true,
|
||||
feedback: 'Правильно. Коли всі значення у вимірі рухаються в одному напрямку приблизно з однаковою силою, цей вимір не пояснює зміну. Шукай виміри, де значення розходяться.' },
|
||||
{ text: 'Легка техніка тримається краще — проблема саме у важкій', correct: false,
|
||||
feedback: 'Обидва класи просіли подібно (-30% до -34%). Невелика різниця не пояснює загального обвалу.' },
|
||||
]
|
||||
},
|
||||
|
||||
duration_buckets: {
|
||||
prompt: 'Розріз за масштабом операцій (мала / середня / велика). Чи пояснює це різницю?',
|
||||
prompt: 'Найдовші рейси (60+ хв) обвалилися на -58%, а короткі — лише на -23%. Що це підказує?',
|
||||
insightKey: 'longRidesCollapse',
|
||||
options: [
|
||||
{ text: 'Ні — обсяг по всіх масштабах впав плюс-мінус рівномірно. Масштаб не визначає ефективність на дашборді — рухаються всі бакети разом.', correct: true,
|
||||
feedback: 'Правильно. Однорідне падіння по всіх масштабах — означає, що масштаб *не* пояснює зміни. Мала, середня, велика — усі впали приблизно однаково. Шукай розрізи, де частки рухаються по-різному.' },
|
||||
{ text: 'Великі операції впали найбільше — отже, вони пояснюють зміну', correct: false,
|
||||
feedback: 'Подивись числа: всі три бакети впали приблизно на 30-40%. Жодна група не виокремлюється. Якщо однорідно — нічого не пояснюється.' },
|
||||
{ text: 'Малі операції зросли — у листопаді більше дрібних завдань', correct: false,
|
||||
feedback: 'Ні: у листопаді *усіх* масштабів менше, в тому числі малих. Падіння рівномірне.' },
|
||||
{ text: 'Замовники, які беруть довгі рейси, перестали їх замовляти. Якщо вони ще й роблять більше рейсів, ця зміна композиції може пояснити загальне падіння середнього часу обороту.', correct: true,
|
||||
feedback: 'Правильно. Довгі рейси зникають непропорційно. Це підказка, що зі складу вибуває певна група замовників — ті, що замовляють надовго. Це і є механізм падіння середньої тривалості. Подивись на вкладку «Замовники», щоб побачити, хто це.' },
|
||||
{ text: 'Холодна погода змушує всіх обертатися швидше, тому довгі рейси скорочуються найбільше', correct: false,
|
||||
feedback: 'Якби холод укорочував усі рейси однаково, падіння було б рівномірним по всіх кошиках. Але короткі рейси майже не просіли (-23%), а довгі обвалилися (-58%). Працює щось інше, не тільки погода.' },
|
||||
{ text: 'Це просто шум — у довгих рейсах більша варіація, тому вони сильніше коливаються', correct: false,
|
||||
feedback: 'У кошику 60+ хв понад 10 000 рейсів — це не шум. Падіння на -58% — сильний сигнал. Градієнт від -23% до -58% по кошиках розповідає чітку історію: популяція тих, хто бере довгі рейси, скоротилася.' },
|
||||
]
|
||||
},
|
||||
|
||||
stations: {
|
||||
prompt: 'А за підрозділами? Чи виокремлюється якийсь один?',
|
||||
prompt: 'Чи можна вказати конкретні логістичні вузли, через які впала загальна цифра?',
|
||||
insightKey: null, lessonKey: 'stations',
|
||||
options: [
|
||||
{ text: 'Ні — у всіх підрозділів обсяг операцій впав на ~30-40%. Жоден не виокремлюється — падіння системне, не локальне.', correct: true,
|
||||
feedback: 'Правильно. Коли всі підрозділи рухаються в один бік приблизно однаково — причина системна, не в окремому підрозділі. Не варто шукати "винного" — варто шукати фактор, що вплинув на всіх.' },
|
||||
{ text: '1 БТГр впала найсильніше — там проблема', correct: false,
|
||||
feedback: 'Подивись на діаграму: відмінності між підрозділами невеликі (5-10 п.п.). Усі впали приблизно однаково. Точкове "хто винен" — невірний інстинкт тут.' },
|
||||
{ text: 'Інженерно-сапна рота тримається — у них кращі практики', correct: false,
|
||||
feedback: 'Усі підрозділи впали в межах +/- 10 п.п. одного значення. Локальні відмінності є, але вони шумові, не визначальні.' },
|
||||
{ text: 'Ні — кожен топовий вузол просів на 25-45%. Причина системна, а не локальна.', correct: true,
|
||||
feedback: 'Правильно. Коли патерн рівномірний по всіх значеннях, цей вимір не пояснює варіацію. Перебирати 800+ вузлів по одному — змарновані зусилля.' },
|
||||
{ text: 'Кілька вузлів витягли більшу частину спаду — слід дослідити саме їх', correct: false,
|
||||
feedback: 'Подивись на графік: жоден топовий вузол не виглядає особливо. Усі просіли значно. Жоден окремий вузол не виділяється як причина. Спад розподілений рівномірно.' },
|
||||
{ text: 'Найсильніше просіли вузли в найгарячіших ділянках — це і є зачіпка', correct: false,
|
||||
feedback: 'Усі вузли просіли на схожий відсоток. Причина системна — те саме, що впливає на всі локації.' },
|
||||
]
|
||||
},
|
||||
|
||||
riders_reveal: {
|
||||
prompt: 'Поглянь на 2-сегментний розклад: підготовчі (тренування+логістика) проти бойових (розвідка+вогневе ураження+оборонні). Що сталося?',
|
||||
requesters_reveal: {
|
||||
prompt: 'Частка передових упала з 33% до 27%. Що показує розбивка за типом замовника?',
|
||||
insightKey: 'casualDropMore',
|
||||
options: [
|
||||
{ text: 'Бойові операції різко скоротились (з ~85% до ~50%); підготовчі зросли (з ~15% до ~50%). Структура операційного навантаження кардинально змінилась.', correct: true,
|
||||
feedback: 'Правильно. Бойові операції в листопаді зменшились більше ніж удвічі за абсолютним обсягом, при цьому частка впала з 85% до 50%. Підготовчі натомість виросли. Заголовок "ми ефективніші" — насправді "ми робимо менше складного". Тепер питання: чи кожен сегмент став ефективнішим, чи цифра рухається лише через зміну складу?' },
|
||||
{ text: 'Обидва сегменти впали приблизно однаково — це загальне зниження активності', correct: false,
|
||||
feedback: 'Подивись на частки: бойові з 85% до 50% — це втрата більш ніж третини. Підготовчі натомість *виросли* з 15% до 50%. Це не однакове падіння.' },
|
||||
{ text: 'Підготовчі впали — звідси й нижчий обсяг', correct: false,
|
||||
feedback: 'Навпаки — підготовчі в листопаді *виросли* в абсолютному обсязі, бо їх частка стрибнула з 15% до 50%. Впали саме бойові.' },
|
||||
{ text: 'Падіння рейсів сконцентроване в передових (-44%) — тилові відносно стабільні (-27%). Композиція замовників значно змістилася.', correct: true,
|
||||
feedback: 'Правильно. Рейси передових впали на -44%, а тилових лише на -27%. Заголовок «рейсів менше на 32%» приховує, що більшість шкоди — в одному сегменті. Цей зсув композиції тягне за собою наслідки для будь-якої метрики, що відрізняється між сегментами.' },
|
||||
{ text: 'Обидві групи просіли значно, тому це загальносистемна проблема', correct: false,
|
||||
feedback: 'Подивись на темпи: -44% проти -27% — велика різниця. Передові просіли майже вдвічі швидше. Загальна цифра приховує дуже нерівномірне падіння по групах.' },
|
||||
{ text: 'Тилові тягнуть спад, бо їх більше', correct: false,
|
||||
feedback: 'Тилових більше в абсолютних числах, але їхній відсоток падіння значно менший. Сегмент передових скоротився набагато драматичніше, що змінило загальну композицію.' },
|
||||
]
|
||||
},
|
||||
|
||||
riders_mix: {
|
||||
prompt: 'Поглянь на ефективність *окремо* кожного сегменту через час. Що спостерігаєш?',
|
||||
requesters_mix: {
|
||||
prompt: 'Композиція замовників змістилася. Що це означає для метрики середнього часу обороту?',
|
||||
insightKey: 'mixShift',
|
||||
options: [
|
||||
{ text: 'Підготовчі стабільно близько 83% успіху, бойові — стабільно близько 58%. Жоден сегмент не покращився. Уся "перемога" в загальній цифрі — за рахунок зростання частки підготовчих.', correct: true,
|
||||
feedback: 'Правильно. Усередині кожного сегменту нічого не змінилось. Обидва тримаються своєї історичної ефективності. Загальний показник зріс не тому, що ми краще робимо роботу — а тому, що *більшу частку* стала займати робота, яку ми завжди робили краще. Це класичний *зсув композиції*.' },
|
||||
{ text: 'Підготовчі покращились, тому й загальна цифра вища', correct: false,
|
||||
feedback: 'Подивись на криву підготовчих окремо — вона рівна, без значного зростання. Загальна цифра вища через зміну ваги, не через зміну продуктивності.' },
|
||||
{ text: 'Бойові стали ефективнішими — особливо помітно у листопаді', correct: false,
|
||||
feedback: 'Ефективність бойових тримається на ~58% — як у попередніх місяцях. У листопаді вона *не* стрибнула. Загальна цифра рухається лише через перерозподіл часток.' },
|
||||
{ text: 'Передові беруть значно довші рейси. Якщо їхня частка скоротилася з 33% до 27%, загальний середній час обороту впаде, навіть якщо жодна група не змінила своєї поведінки.', correct: true,
|
||||
feedback: 'Правильно! Коли композиція змінюється, агреговані метрики зміщуються, навіть якщо поведінка жодної групи не змінилася. Це і є ключ до падіння середнього часу обороту. Подивись на вкладку «Час обороту», щоб побачити це в дії.' },
|
||||
{ text: 'Зміна композиції замала (6 п.п.), щоб помітно вплинути на середнє', correct: false,
|
||||
feedback: 'Передові в середньому ~24 хв на рейс проти ~12 хв у тилових. Зсув на 6 п.п. у групи, яка обертається вдвічі довше, дає великий ефект на зважене середнє. Перевір математику на вкладці «Час обороту».' },
|
||||
{ text: 'Час обороту і кількість рейсів — окремі метрики; зсув композиції впливає тільки на кількість', correct: false,
|
||||
feedback: 'Зсув композиції впливає на БУДЬ-ЯКУ метрику, що відрізняється між групами. Оскільки передові обертаються вдвічі довше за тилових, зміна частки передових прямо змінює середній час обороту.' },
|
||||
]
|
||||
},
|
||||
|
||||
duration_paradox: {
|
||||
prompt: 'Загальна ефективність зросла з 62% до 71%, але кожен сегмент окремо — не змінився. Як таке може бути?',
|
||||
prompt: 'Загальний час обороту впав на -11,9%, але подивись на кожну групу окремо. Що відбувається?',
|
||||
insightKey: 'durationParadox',
|
||||
options: [
|
||||
{ text: 'Жодний сегмент не змінився, але змінились їхні частки. Підготовчі (з ~83% успіху) стали більшою часткою; бойові (з ~58% успіху) — меншою. Загальна цифра зросла за рахунок зсуву ваги, не за рахунок поведінки.', correct: true,
|
||||
feedback: 'Правильно! Це й є *зсув композиції* (відомий також як *парадокс Сімпсона*). Загальна цифра — це зважене середнє. Якщо ваги рухаються до сегменту з вищим показником, загальна цифра зростає, навіть коли всередині кожного сегменту нічого не змінилось. У звіті командирові: "ми не стали ефективнішими — ми просто робимо менше складного".' },
|
||||
{ text: 'Холодна погода / зима покращує бойові операції', correct: false,
|
||||
feedback: 'Ні — ефективність бойових у листопаді ~58%, як і в інших місяцях. Сезонність не пояснює стрибок загальної цифри.' },
|
||||
{ text: 'Це випадкове коливання — нічого особливого', correct: false,
|
||||
feedback: 'Стрибок з 62% до 71% — це 9 п.п. на ~500 операціях; це не шум. До того ж є дзеркальна ситуація з частками сегментів. Це структура, не випадковість.' },
|
||||
{ text: 'Жодна група сама по собі не змінилася сильно, але загальне середнє впало, бо передові (які обертаються довше) стали меншою часткою композиції', correct: true,
|
||||
feedback: 'Правильно! Це парадокс Сімпсона. Тилові (~73% рейсів у листопаді) майже не змінилися (-4,8%), передові просіли деякою мірою (-13,2%), а загальне впало непропорційно сильно, бо група «довгих» стиснулася в композиції.' },
|
||||
{ text: 'Холод змушує всіх обертатися швидше — спад реальний у всіх групах', correct: false,
|
||||
feedback: 'Якби холод укорочував рейси рівномірно, обидві групи показали б подібне падіння. Але тилові просіли лише на -4,8%, а загальне — на -11,9%. Цей розрив погодою не пояснити.' },
|
||||
{ text: 'Час обороту просів пропорційно по всіх групах — нічого незвичайного', correct: false,
|
||||
feedback: 'Порівняй цифри: тилові -4,8%, передові -13,2%, загальне -11,9%. Якщо тилових 73%, то загальне мало б бути ближчим до -4,8%. Загальне тягне вниз саме зміна композиції, а не індивідуальна поведінка.' },
|
||||
]
|
||||
},
|
||||
};
|
||||
|
||||
const OBSERVATIONS = [
|
||||
{ key: 'yoyPositive', text: 'Стрибок з 62% до 71% — справжній. Минулорічний листопад мав ~62%; цей рік перший з такою цифрою.', tag: 'observation' },
|
||||
{ key: 'longRidesCollapse', text: 'За масштабом операцій падіння обсягу рівномірне (~30-40%) — масштаб не пояснює зміну ефективності.', tag: 'observation' },
|
||||
{ key: 'casualDropMore', text: 'Бойові операції різко скоротились (частка 85% → 50%); підготовчі виросли (15% → 50%) — структура навантаження змінилась.', tag: 'observation' },
|
||||
{ key: 'mixShift', text: 'Частка підготовчих операцій стрибнула з 15% до 50% — мікс операцій кардинально зсунувся.', tag: 'observation' },
|
||||
{ key: 'durationParadox', text: 'Ефективність кожного сегменту окремо — стабільна; зростає тільки загальна цифра. Класична зміна композиції.', tag: 'observation' },
|
||||
{ key: 'yoyPositive', text: 'Рейси листопада насправді ВИЩІ, ніж торік (+7,6%) — діяльність зростає', tag: 'observation' },
|
||||
{ key: 'longRidesCollapse', text: 'Довгі рейси зникли непропорційно (-58% для 60+ хв проти -23% для коротких)', tag: 'observation' },
|
||||
{ key: 'casualDropMore', text: 'Падіння рейсів сконцентроване в передових (-44%) — тилові відносно стабільні (-27%)', tag: 'observation' },
|
||||
{ key: 'mixShift', text: 'Передові скоротилися з 33% до 27% від усіх рейсів — композиція замовників змістилася', tag: 'observation' },
|
||||
{ key: 'durationParadox', text: 'Час обороту в кожній групі майже не змінився, але загальне середнє впало значно більше — парадокс Сімпсона', tag: 'observation' },
|
||||
];
|
||||
|
||||
const CONCLUSIONS = [
|
||||
{ key: 'conclusionSeasonal', text: 'Падіння обсягу операцій — структурний зсув (бойові скоротили), не операційна проблема й не чисто сезонність.', tag: 'conclusion' },
|
||||
{ key: 'conclusionParadox', text: 'Зростання загальної ефективності — ефект композиції, не реальне покращення продуктивності.', tag: 'conclusion' },
|
||||
{ key: 'conclusionSeasonal', text: 'Падіння рейсів — звичайна сезонність, а не операційна проблема', tag: 'conclusion' },
|
||||
{ key: 'conclusionParadox', text: 'Падіння часу обороту — ефект композиції (парадокс Сімпсона), а не реальна зміна поведінки', tag: 'conclusion' },
|
||||
];
|
||||
|
||||
// Dead-end lesson labels for the summary screen
|
||||
// Підписи «глухих кутів» для підсумкового екрану
|
||||
const LESSON_NAMES = {
|
||||
dayofweek: 'День тижня — перевіряй календарну структуру: різна кількість буднів/вихідних може створити фальшиві патерни.',
|
||||
hourly: 'Однакова форма за годинами — це зміна обсягу, не патерну. Шукай розрізи, де *форма* розподілу змінюється.',
|
||||
biketypes: 'Категорії рухаються в різні боки — це не однорідне падіння, а структурна зміна. Перевіряй частки.',
|
||||
stations: 'Усі підрозділи впали схоже — причина системна, не локальна. Не шукай "винного" — шукай фактор, що вплинув на всіх.',
|
||||
dayofweek: 'Сирі суми по днях тижня вводять в оману — нормалізуй на календарну структуру',
|
||||
hourly: 'Однакова форма погодинної кривої — зсув обсягу, а не патерну',
|
||||
vehicletypes: 'Класи техніки падають разом — не причина',
|
||||
stations: 'Усі вузли просіли однаково — системно, не локально',
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user