4 июня 2026
Мы строим собственное математическое ядро WFM (Workforce Management) с нуля.
Это не про интеграции и не про бизнес-логику приложений.
Это про математику, оптимизацию, алгоритмы и highload-архитектуру вычислений .
Вам предстоит спроектировать и формализовать:
модели расчёта персонала (Erlang C, staffing, occupancy, SLA);
алгоритмы оптимизации графиков (scheduling optimization);
логику multi-skill routing;
механизмы partial reoptimisation;
правила обработки ограничений;
расчёт KPI и coverage.
Реализовывать production-код будет внутренняя команда разработки.
Ваша задача техническая спецификация, алгоритмы, формулы, структуры данных, API и документация, по которой разработчики напишут код без дополнительных уточнений .
1. Математическое моделирование
Разработать и описать Erlang C-based модели для расчёта необходимого числа сотрудников в час/интервал.
Формализовать формулы occupancy, SLA, ASA, abandonment rate .
Описать модели multi-skill routing (назначение задач сотрудникам с учётом навыков, приоритетов, эффективности).
2. Оптимизация графиков (scheduling)
Разработать модель целочисленной оптимизации (или гибридную эвристики + точные методы) для построения смен/графиков.
Описать алгоритм partial reoptimisation пересчёт графика без полной перегенерации при точечных изменениях.
Формализовать правила обработки ограничений :
трудовое законодательство (перерывы, отдых, ночные/праздничные часы);
предпочтения сотрудников;
максимальная нагрузка;
минимальное покрытие в каждый момент.
3. Структуры и алгоритмы
Спроектировать структуры данных для хранения:
входных параметров (прогноз нагрузки, навыки, доступность);
промежуточных результатов (необходимый штат, допустимые варианты смен);
итоговых графиков и KPI.
Описать последовательность расчётов (pipeline):
загрузка данных staffing scheduling routing KPI partial reoptimization.
Подготовить псевдокод / алгоритмические схемы для ключевых вычислительных модулей.
4. API и документация
Спроектировать форматы API (REST/JSON или gRPC/Protobuf) для:
приёма входных данных (прогноз нагрузки, сотрудники, навыки, ограничения);
запуска расчётов (full / partial);
получения результатов (графики, KPI, метрики покрытия).
Подготовить полную техническую спецификацию , где каждый модуль описан на уровне:
входы выходы;
формулы;
ограничения;
алгоритмическая сложность;
граничные случаи.
Писать production-код на Java/C#/Python этим займётся команда.
Настраивать инфраструктуру, деплой, мониторинг.
Работать с CRM, интеграциями, фронтендом, UI/UX.
Математика и оптимизация
Глубокое понимание Erlang C, Erlang B, формул для call/contact centre .
Опыт построения математических моделей распределения ресурсов .
Знание методов оптимизации:
линейное/целочисленное программирование;
метаэвристики (генетические алгоритмы, simulated annealing, tabu search);
градиентные методы (при необходимости).
Опыт с оптимизацией расписаний (scheduling, rostering) любая предметная область (не только WFM).
Алгоритмы и структуры данных
Умение проектировать вычислительные пайплайны (последовательность этапов, зависимости).
Опыт описания псевдокода / алгоритмических схем .
Понимание частичных пересчётов (incremental / partial reoptimisation) .
Документирование
Опыт написания технической документации уровня разработчик реализует без дополнительных вопросов .
Умение формализовать: входные данные промежуточные вычисления формулы ограничения выходные данные.
Инструменты (теоретически или практически)
Базовое знакомство с Python + NumPy/SciPy или R для прототипирования (будет плюсом).
Понимание REST / gRPC / JSON / Protobuf для описания API.
Опыт работы
3+ года в одной из областей:
WFM / contact center systems (Verint, Nice, Genesys, Teleopti, Alvaria, injixo);
optimization / scheduling systems (любая индустрия транспорт, производство, медицина);
operations research / mathematical modelling в highload-среде.