Документация

Единицы СИ и курс НБ РК

Одни и те же показатели могут приходить в разных единицах: выбросы — в тоннах или килограммах, энергию — в гигаджоулях или киловатт-часах, расходы — в долларах или тенге. Единицу и валюту, отличные от единицы показателя, задают колонки unit и currency_code при импорте; на форме ручного ввода значение вводится в единице показателя. Чтобы значения можно было сравнивать, складывать и нормализовать, платформа приводит каждое введённое значение к общей основе: физические величины — к базовой единице СИ, а денежные суммы — к тенге по официальному курсу Национального Банка РК. При этом исходное значение никуда не исчезает: конвертация добавляется как преобразование поверх него и фиксируется в журнале прослеживаемости. Эта страница объясняет, как и зачем это происходит.

Зачем приводить всё к единой базе

Без общего знаменателя показатели несопоставимы. Тонна и килограмм, гигаджоуль и киловатт-час, доллар и тенге — это разные масштабы одной и той же сущности. Если их не привести к единой базе, любое сравнение, агрегирование в темы и столпы и нормализация к шкале 0–100 будут считать «яблоки с апельсинами». Поэтому приведение к базовым единицам СИ и к тенге — обязательный шаг между вводом данных и расчётом баллов.

Базовая единица СИ и множитель

У каждой единицы измерения в справочнике задана базовая единица СИ (поле si_base) и множитель приведения (si_multiplier). Например, для тонны базой служит килограмм, а множитель равен 1000. Правило простое:

значение в базе = введённое значение × si_multiplier

Так введённые «5 тонн» хранятся в базе как 5000 кг. В карточке показателя вы по-прежнему видите естественную единицу, в которой удобно работать (тонны), а в базе данных лежит значение СИ, на котором строятся все сравнения.

Что происходит при вводе

Приведение единиц выполняется в момент сохранения значения. Сервис приведения единиц конвертирует введённую величину в базовую СИ автоматически — вам не нужно считать это вручную.

Денежные суммы и валюта

Метрика может быть задана в тенге, а значение прийти в другой валюте — например, в долларах США, если при импорте в колонке currency_code указано USD. Платформа конвертирует сумму в тенге (целевой код валюты — kzt) по официальному курсу Национального Банка РК. Курс берётся на конец отчётного периода оценки, а если период ещё не закончился или не задан — на текущую дату: так одна и та же сумма конвертируется одинаково, когда бы её ни внесли.

Откуда берётся курс

Курс платформа подгружает сама — из официального XML-фида НБ РК (https://nationalbank.kz/rss/get_rates.cfm). Пользовательский (клиентский) курс не принимается: это инвариант достоверности. Вы не можете «подставить свой курс» — конвертация валюты идёт только по официальному курсу НБ РК.

Курс публикуется за единицу валюты: в расчёте применяется значение rate / quant. Если на нужную дату курса нет (выходной, праздник), берётся ближайший предыдущий день в пределах окна отката — по умолчанию 7 дней. Если курса нет и там, значение в этой валюте сконвертировать нельзя.

Журнал преобразований (прослеживаемость)

Для каждого значения сохраняется полная история преобразований (data lineage). В журнале фиксируются:

  • тип преобразования — приведение единиц (unit_conversion) или конвертация валюты (currency_conversion);
  • исходная и целевая единица;
  • применённый множитель или курс (fx_rate) и дата курса (fx_date);
  • время операции, пользователь и источник значения.

Исходно введённое значение и его естественная единица не затираются. Конвертация добавляется отдельным преобразованием поверх, поэтому и вы, и аудитор всегда видите, откуда взялась итоговая цифра. Подробнее о прослеживаемости — на странице Ручной ввод данных.

Проценты, коэффициенты и качественные «да/нет»

Безразмерные показатели — проценты и коэффициенты — не масштабируются: их множитель равен 1, базой служит сама величина. Качественные показатели «да/нет» не приводятся к СИ вовсе — они переводятся в баллы (100 или 0) уже на этапе скоринга, а не на этапе конвертации. Подробнее об этом — на странице Нормализация и шкала 0–100.

Частые ошибки

  • Считают, что введённое значение «исправили». На самом деле оно сохранено как есть, а конвертация добавлена отдельным преобразованием — исходник цел.
  • Вводят сумму в иностранной валюте, ожидая свой курс. Применяется только официальный курс НБ РК; клиентский курс система не принимает.
  • Ждут конвертации, когда курса нет. Если на дату курса (конец периода или сегодня) курс НБ РК не подгружен и нет курса в окне отката, конвертация валюты не выполнится, и значение уйдёт в карантин.
  • Не задают единицу измерения у показателя в справочнике. Без si_multiplier значение нельзя привести к базе СИ.
  • Путают естественную единицу и базовую СИ. Вы вводите в естественной единице (тонны), а хранение и сравнение идут в базовой СИ (кг). Это разные представления одного значения.

См. также: Импорт данных, Валидация и карантин, Нормализация и шкала 0–100.

Не нашли ответ? Перейти в поддержку