AAYMA
RU
Войти

Codex, make no mistakes

Система рекомендаций заказов поставщикам для Электрокомплекта: импорт Excel-выгрузок в PostgreSQL, прогноз спроса, расчёт черновиков заказов с…

Доведённый продукт
Команда «Codex, make no mistakes» 17💬 0 комментариевс 23 сентября 2026 г.

О проекте

Команда: Codex, make no mistakes
Кейс HackAlem.ai: Логистика — Электрокомплект · ekt.kz
Стадия: Доведённый продукт

Задача кейса: Автоматический расчёт заказов поставщикам для пополнения склада, с утверждением менеджером

Суть

Система рекомендаций заказов поставщикам для Электрокомплекта: импорт Excel-выгрузок в PostgreSQL, прогноз спроса, расчёт черновиков заказов с учётом остатков и транзита, версии сценариев, утверждение менеджером и экспорт в CSV, React-интерфейс рабочего места закупщика.

Как устроено

Excel-книги поставщиков импортируются в PostgreSQL (SQLAlchemy + Alembic) с независимым аудитом качества данных. Прогноз в режиме auto: недельный EWMA за 8 недель с весами 0.72^(возраст в неделях) при истории от 56 дней, иначе историческое среднее. К прогнозу применяются сценарные коэффициенты, буфер, остатки и транзит, пересчёт единиц, минимальная партия и кратность, lead time определяет срок прибытия. В экспериментах сравнивали LightGBM Tweedie, SBA, TSB и очистку спроса по WAPE, дополнительно есть маршрутизация доставок по Алматы через OSRM.

Ключевые решения

  • EWMA
  • LightGBM Tweedie
  • SBA
  • TSB
  • WAPE
  • feature ablation
  • demand cleaning
  • OSRM routing
  • min order / order multiple rounding

Метрики

WAPE 2026 retrospective: IEK/м/28д 64.98 (baseline) vs 58.80 (Tweedie); IEK/уп/28д 42.57 vs 46.29; IEK/шт/28д 40.25 vs 40.15; Systeme/шт/28д 42.76 vs 42.43

Особенности

Строгая методология: 7 зарегистрированных экспериментов на 65 754 ключах прогноза, разделение development и retrospective периодов, честный вывод, что LightGBM не лучше везде и в продукте оставлен объяснимый EWMA. У каждой позиции возвращается использованный forecast_method.

Стек

Python · FastAPI · SQLAlchemy · Alembic · PostgreSQL 17 · React · uv · Make · Docker · GitHub Actions · LightGBM


Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-f5ec9a3e-codex-make-no-mistakes.

README

README.md

hack-f5ec9a3e-codex-make-no-mistakes

Hackathon team repository for Codex, make no mistakes

HackAlem AI case: supplier order recommendations for Elektrokomplekt LLP (ekt.kz).

Forecasting: what we use and what the research found

Operational choice: uncapped weekly EWMA, selected through forecast_method: "auto". There is no universally best model in the experiments. EWMA is our explainable baseline for purchasing; full-feature Tweedie LightGBM is the strongest ML challenger, not a validated replacement across all suppliers and forecast periods.

The calculation API and imported-source preparation support automatic forecasting:

  • With at least 56 declared history days, use the last eight weeks with weights 0.72 ** floor(age_in_days / 7), without automatically capping large sales.
  • With shorter history, or explicit stockout compensation, use the existing historical-mean policy. An explicitly entered daily-demand assumption takes precedence.
  • Forecast the user's inclusive start/end dates, then apply scenario factors, buffer, eligible stock/transit, unit conversion, minimum order and order multiples. Supplier lead time controls arrival timing; it is not added to a custom date range.
  • Return forecast_method with each result. Existing API callers that omit the selector retain history_mean; new source-prepared scenarios opt into auto. Bulk exclusion and stockout compensation remain off unless explicitly requested.

Seven registered experiments share 65,754 forecast keys. The table compares 2026 retrospective WAPE (%; lower is better) with the development-selected benchmark, which is not the same as the uncapped application EWMA.

Supplier / unit / horizonSelected benchmarkFull TweedieFinding
IEK / meters / 28 days64.97758.803Strong ML lead; Tweedie lost in 2025 development
IEK / packs / 28 days42.56746.293Capped baseline has lower error, with more underforecasting
IEK / pieces / 28 days40.24540.152Small difference; no convincing general replacement
Systeme / pieces / 28 days42.76042.430Small difference; monitor bias as well as error

The narrower IEK packs, 7-day, Tweedie without weekly-lag features candidate scored 66.990 vs 81.969 retrospectively and 51.634 vs 51.879 in development. Automatic cleaning worsened every 28-day baseline group. Combined raw/clean/bulk features, SBA and TSB did not establish a universal improvement. Keep raw demand and validate challengers at the actual purchasing horizon before promotion.

These are forecasts of recorded positive sales, not unconstrained demand or proven inventory savings. WAPE is not an accuracy percentage. July–December 2025 was used for selection; January–August 2026 has already informed multiple experiments and is retrospective, not a fresh test. Arbitrary custom horizons are extrapolations; LightGBM and calibrated safety buffers are not connected as automatic defaults.

Evidence: registered comparison, baseline findings, ablation findings, cleaning findings, combined features. Implementation: calculation policy, custom-period contract.

Промышленный базовый выбор — недельный EWMA без ограничения пиков; при короткой истории используется среднее. Tweedie — перспективный кандидат для отдельных групп и горизонтов, а не доказанный общий победитель. Собственные даты передаются в расчёт, а использованный метод возвращается для каждой позиции. Built within 3 hours: an end-to-end supplier order recommendation prototype with Excel ingestion, demand forecasting, order drafts, CSV export and a React interface.

Deployment

Requires GNU Make, uv, Node.js 22+ and PostgreSQL 17. On the server, from the repository root, set a connection URL for an empty application database:

export DATABASE_URL='postgresql+psycopg://USER:[скрыто]@HOST:5432/replenishment'
make install migrate import-data calculate build
cd backend
uv run --frozen uvicorn replenishment.api.app:create_app --factory --host 127.0.0.1 --port 8000

Keep the API running with a service manager (e.g. systemd). Configure an HTTPS web server to serve frontend/dist and proxy /api/* to 127.0.0.1:8000, preserving the path. Use deployment credentials; the bundled Compose starts only a development database. For a local demo, use make dev-setup, then make dev-api and make dev-ui in separate terminals.

Development tasks

Run make help from the repository root. Requires GNU Make, uv, Node.js 22+; Docker is needed for database tasks. On Windows use a POSIX shell with Make, or the native PowerShell commands in backend setup.

make dev-setup       # Install dependencies, start DB, migrate, import workbooks
make dev-api         # API with reload; keep running
make dev-ui          # Frontend; run in a second terminal
make check           # Lint, DB-free tests, frontend build, registry guards
make test-eval       # Evaluation contracts and tests only; no DB
make evaluate        # Evaluate monthly three-period forecasts on original documents
make calculate       # Persist pinned forecast/order drafts in PostgreSQL

make install installs dependencies without starting Docker. make test runs backend and frontend tests; make test-postgres requires an explicitly set TEST_DATABASE_URL pointing to a dedicated empty *_test database (creation instructions in the backend setup). DATABASE_URL defaults to local Compose; override it through the environment when needed. make db-stop preserves data.

The main application implements the v2 forecast-first contract. Development origins are June–September 2025; the January–May 2026 comparison is retrospective. make test-eval-strict and make evaluate-strict exercise the implemented calculation contract. Reports use new immutable directories under artifacts/inventory-evaluation/. See the evaluation protocol. Forecast research retains its separate Python 3.10 environment.

Start with the project documentation, then read the project context and data guide. The original brief and all 12 extracted supplier workbooks are included in docs/.

Current state: source documentation, audit checks, Excel ingestion, read API and React source tables, plus backend purchasing calculations, saved scenario revisions, approval and CSV export are implemented. The new Elektrokomplekt purchasing workspace connects imported products, calculation, saved revisions, approval and CSV export to the backend. Explicitly labelled synthetic examples remain available. Calculable v0 recommendations are explicitly labelled scenarios. See the current verification and demo walkthrough. Start with purchasing backend RU/EN and the parallel execution plan. See backend setup RU/EN, architecture and Excel-to-database mapping.

Текущее состояние: импорт Excel, API чтения и React-таблицы, backend расчёта закупок, сохранение версий, утверждение и CSV. Новое рабочее место Электрокомплект подключено к backend: импортированные товары, расчёт, версии сценариев, утверждение и CSV. Учебные примеры явно обозначены. Актуальная проверка и сценарий показа: RU/EN. Current state: source documentation, locked audit checks, modular SQLAlchemy models, PostgreSQL migration, Excel ingestion, read API and React tables are implemented. The forecast-first calculation, supplier draft persistence and CSV export are the main backend path. See backend setup RU/EN, architecture and Excel-to-database mapping.

Текущее состояние: документация, проверки аудита, модульные модели SQLAlchemy, миграция PostgreSQL, импорт Excel, API чтения и React-таблицы. Основной forecast-first расчёт, сохранение черновиков и CSV-экспорт доступны через CLI.

Запуск / Run: backend + import, frontend. API: contract RU/EN. UI scope: requirements RU/EN.

Проверка импорта / Import validation: independent data-quality report and reproduction command.

Согласованные требования к стеку, запуску через F5 и Docker, сценариям и демонстрации: план сдачи RU/EN. Инструкции запуска: Docker и F5.

Approved stack, F5/Docker startup, scenarios and demonstration requirements: delivery plan RU/EN. See Docker and F5 startup; Docker was verified, F5 configuration has not been launched in VS Code.

Звёзды
⭐ 0
Форки
0
Язык
Python
Последний push
в прошлом месяце
Коммиты
27
Авторы
4
Файлы
344
Ветки
7

Авторы коммитов

Dimash Isenov 20Alexander Los 5aftermath-source 1Codex 1

История коммитов

  • 2026-09-23 18:02fix: preserve legacy scenario databases after backend mergeDimash Isenov
  • 2026-09-23 17:59merge: retain published frontend alongside backend integrationDimash Isenov
  • 2026-09-23 17:58merge: integrate calculation backend with purchasing frontendDimash Isenov
  • 2026-09-23 17:56feat: publish purchasing frontend with custom forecast datesDimash Isenov
  • 2026-09-23 17:52feat: connect purchasing frontend to automatic forecast calculationsDimash Isenov
  • 2026-09-23 17:51chore: update README.mdAlexander Los
  • 2026-09-23 17:50Add files via uploadaftermath-source
  • 2026-09-23 17:49feat: evaluation checks improvementsAlexander Los
Все коммиты (27)
  • 2026-09-23 17:41feat: checkpoint purchasing app and planning workflowsDimash Isenov
  • 2026-09-23 17:34research: evaluate calibrated replenishment buffersIssenov Dinmukhamed
  • 2026-09-23 17:18feat: core engine & order draftsAlexander Los
  • 2026-09-23 17:17research: audit replenishment and validate application baselineIssenov Dinmukhamed
  • 2026-09-23 16:39feat: recommend client shipment quantities and delivery routesDimash Isenov
  • 2026-09-23 16:39feat: add shared backend forecast metricsDimash Isenov
  • 2026-09-23 16:38feat: import local purchasing frontendCodex
  • 2026-09-23 16:33feat: isolate and verify purchasing planning and approval backendDimash Isenov
  • 2026-09-23 15:47feat: add evaluation test and MakefileAlexander Los
  • 2026-09-23 15:16feat: independently audit Excel imports and publish quality reportDimash Isenov
  • 2026-09-23 15:09docs: define business readiness and purchasing acceptance contractDimash Isenov
  • 2026-09-23 15:00Merge remote-tracking branch 'origin/main'Dimash Isenov
  • 2026-09-23 15:00Compare LightGBM feature ablations and register resultsDimash Isenov
  • 2026-09-23 14:58feat: add AGENTS.mdAlexander Los
  • 2026-09-23 14:56feat: import supplier Excel into PostgreSQL and browse source dataDimash Isenov
  • 2026-09-23 14:45Publish forecasting experiments and shared run registryDimash Isenov
  • 2026-09-23 14:24feat: add modular Excel data schema and lock audit baselineDimash Isenov
  • 2026-09-23 14:04docs: record approved delivery plan and data auditDimash Isenov
  • 2026-09-23 13:42docs: import hackathon materials and project contextDimash Isenov
Структура репозитория (344 файлов)
.dockerignore
.env.example
.github/workflows/backend.yml
.gitignore
AGENTS.md
Makefile
README.md
artifacts/almaty-routing/locations.geojson
artifacts/almaty-routing/osrm-baseline-day0.json
artifacts/almaty-routing/osrm-baseline-day3.json
artifacts/almaty-routing/osrm-proposed-day0.json
artifacts/almaty-routing/osrm-proposed-day3.json
artifacts/almaty-routing/results.json
artifacts/almaty-routing/routes.geojson
artifacts/almaty-routing/scenario.json
artifacts/demand-experiment/coverage.csv
artifacts/demand-experiment/diagnostics.json
artifacts/demand-experiment/metrics.csv
artifacts/demand-experiment/monthly_metrics.csv
artifacts/demand-experiment/results.json
artifacts/intermittent-experiment/grid_development.csv
artifacts/intermittent-experiment/metrics.csv
artifacts/intermittent-experiment/monthly_metrics.csv
artifacts/intermittent-experiment/results.json
artifacts/lightgbm-ablation/feature_importance.csv
artifacts/lightgbm-ablation/metrics.csv
artifacts/lightgbm-ablation/monthly_metrics.csv
artifacts/lightgbm-ablation/results.json
artifacts/lightgbm-ablation/training.csv
artifacts/lightgbm-experiment/feature_importance.csv
artifacts/lightgbm-experiment/metrics.csv
artifacts/lightgbm-experiment/monthly_metrics.csv
artifacts/lightgbm-experiment/results.json
artifacts/lightgbm-experiment/training.csv
artifacts/source-upload-verification.json
artifacts/verify_source_upload.py
backend/API.md
backend/ARCHITECTURE.md
backend/DELIVERY_PLANNING.md
backend/Dockerfile
backend/IMPORTING.md
backend/PLANNING.md
backend/README.md
backend/alembic.ini
backend/migrations/env.py
backend/migrations/script.py.mako
backend/migrations/versions/0001_excel_data_foundation.py
backend/migrations/versions/0002_forecast_first_calculation.py
backend/migrations/versions/0003_employee_order_documents.py
backend/migrations/versions/0004_order_scenarios.py
backend/pyproject.toml
backend/src/replenishment/.DS_Store
backend/src/replenishment/__init__.py
backend/src/replenishment/api/__init__.py
backend/src/replenishment/api/app.py
backend/src/replenishment/api/deliveries.py
backend/src/replenishment/api/ordering.py
backend/src/replenishment/api/orders.py
backend/src/replenishment/api/planning_sources.py
backend/src/replenishment/api/uploads.py
backend/src/replenishment/browsing/__init__.py
backend/src/replenishment/browsing/tables.py
backend/src/replenishment/calculation/__init__.py
backend/src/replenishment/calculation/contracts.py
backend/src/replenishment/calculation/evaluation.py
backend/src/replenishment/calculation/forecasting.py
backend/src/replenishment/calculation/inputs.py
backend/src/replenishment/calculation/llm.py
backend/src/replenishment/calculation/ml.py
backend/src/replenishment/calculation/models.py
backend/src/replenishment/calculation/persistence.py
backend/src/replenishment/calculation/purchasing.py
backend/src/replenishment/catalog/__init__.py
backend/src/replenishment/catalog/models.py
backend/src/replenishment/catalog/writing.py
backend/src/replenishment/cli/__init__.py
backend/src/replenishment/cli/almaty_routes.py
backend/src/replenishment/cli/audit_data.py
backend/src/replenishment/cli/calculate.py
backend/src/replenishment/cli/import_excel.py
backend/src/replenishment/cli/planning_demo.py
backend/src/replenishment/cli/reconcile_legacy_scenarios.py
backend/src/replenishment/cli/routing_demo.py
backend/src/replenishment/cli/seed_demo.py
backend/src/replenishment/delivery_planning.py
backend/src/replenishment/delivery_planning_demo.py
backend/src/replenishment/demand/__init__.py
backend/src/replenishment/demand/cleaning.py
backend/src/replenishment/demand/models.py
backend/src/replenishment/demand/writing.py
backend/src/replenishment/evaluation/__init__.py
backend/src/replenishment/evaluation/artifacts.py
backend/src/replenishment/evaluation/runner.py
backend/src/replenishment/evaluation/sources.py
backend/src/replenishment/intake/__init__.py
backend/src/replenishment/intake/adapters/__init__.py
backend/src/replenishment/intake/adapters/csv.py
backend/src/replenishment/intake/adapters/normalization.py
backend/src/replenishment/intake/adapters/xlsx.py
backend/src/replenishment/intake/models.py
backend/src/replenishment/intake/writing.py
backend/src/replenishment/inventory/__init__.py
backend/src/replenishment/inventory/models.py
backend/src/replenishment/inventory/writing.py
backend/src/replenishment/kernel/__init__.py
backend/src/replenishment/kernel/db.py
backend/src/replenishment/metrics/__init__.py
backend/src/replenishment/ordering/__init__.py
backend/src/replenishment/ordering/documents.py
backend/src/replenishment/ordering/models.py
backend/src/replenishment/orders/__init__.py
backend/src/replenishment/orders/models.py
backend/src/replenishment/orders/writing.py
backend/src/replenishment/planning/__init__.py
backend/src/replenishment/planning/calculator.py
backend/src/replenishment/planning/demo.py
backend/src/replenishment/planning/models.py
backend/src/replenishment/planning_sources.py
backend/src/replenishment/routing.py
backend/src/replenishment/routing_osrm.py
backend/src/replenishment/schema.py
backend/src/replenishment/supply/__init__.py
backend/src/replenishment/supply/models.py
backend/src/replenishment/supply/writing.py
backend/tests/evaluation/__init__.py
backend/tests/evaluation/cases.py
backend/tests/evaluation/conftest.py
backend/tests/evaluation/leftovers.py
backend/tests/evaluation/test_app.py
backend/tests/evaluation/test_evaluation.py
backend/tests/evaluation/test_leftovers.py
backend/tests/test_api.py
backend/tests/test_audit_baseline.py
backend/tests/test_calculation_storage.py
backend/tests/test_custom_forecast.py
backend/tests/test_data_audit.py
backend/tests/test_database.py
backend/tests/test_delivery_planning.py
backend/tests/test_demand_cleaning.py
backend/tests/test_evaluation_acceptance.py
backend/tests/test_evaluation_artifacts.py
backend/tests/test_excel_import.py
backend/tests/test_forecast_completion.py
backend/tests/test_forecasting.py
backend/tests/test_legacy_reconcile.py
backend/tests/test_llm.py
backend/tests/test_metrics.py
backend/tests/test_ordering.py
backend/tests/test_orders.py
backend/tests/test_orders_postgres.py
backend/tests/test_planning_calculator.py
backend/tests/test_planning_sources.py
backend/tests/test_purchasing_acceptance.py
backend/tests/test_routing.py
backend/tests/test_routing_osrm.py
backend/tests/test_uploads.py
backend/tests/test_worksheet_mapping.py
backend/uv.lock
compose.yaml
docs/ALMATY_ROUTING_RESULTS.md
docs/BACKEND_ACCEPTANCE.md
docs/BACKLOG.md
docs/BUSINESS_READINESS.md
docs/COMBINED_FORECAST_EXPERIMENT.md
docs/COMBINED_FORECAST_RESULTS.md
docs/CUSTOM_FORECAST_PERIOD.md
docs/DATA_AUDIT.md
docs/DATA_GUIDE.md
docs/DATA_MODEL.md
docs/DECISIONS.md
docs/DELIVERY_PLAN.md
docs/DELIVERY_VERIFICATION.md
docs/DEMAND_CLEANING.md
docs/DEMAND_CLEANING_RESULTS.md
docs/DEMAND_EXPERIMENT.md
docs/DEMAND_RESULTS.md
docs/EVALUATION_PIPELINE.md
docs/FINAL_FORECAST_EVALUATION.md
docs/FRONTEND_REQUIREMENTS.md
docs/INTERMITTENT_EXPERIMENT.md
docs/INTERMITTENT_RESULTS.md
docs/INVENTORY_EVALUATION.md
docs/KAGGLE_RESEARCH.md
docs/LIGHTGBM_ABLATION.md
docs/LIGHTGBM_EXPERIMENT.md
docs/MULTIDAY_ROUTING.md
docs/PARALLEL_DELIVERY_PLAN.md
docs/PLANNING_API.md
docs/PROJECT_CONTEXT.md
docs/PURCHASING_CONTRACT.md
docs/README.md
docs/ROUTE_OPTIMIZATION_RESEARCH.md
docs/STARTUP.md
docs/data/IEK/MOQ  ИЭК.xlsx
docs/data/IEK/Динамика продаж_2025-2026.xlsx
docs/data/IEK/Ежемесячные остатки продукции за последние 2 года  ИЭК.xlsx
docs/data/IEK/Ежемесячные продажи в количественном выражении за последние 2 года.xlsx
docs/data/IEK/Путь ИЭК 22.09.2026.xlsx
docs/data/IEK/Сезонность ИЭК.xlsx
docs/data/Systeme electric/MOQ SystemElectric.xlsx
docs/data/Systeme electric/Динамика продаж_Syseme Electric_2025-2026.xlsx
docs/data/Systeme electric/Ежемесячные остатки SystemElectric 2024-2026.xlsx
docs/data/Systeme electric/Ежемесячные продажи в кол-м выражении SystemElectric 2024-2026.xlsx
docs/data/Systeme electric/Сезонность SystemElectric 2024-2026.xlsx
docs/data/Systeme electric/Товар в пути_SystemElectric на 22.09.2026.xlsx
docs/reports/data-quality.json
docs/reports/data-quality.md
docs/sources/HackAlem AI_ Автоматизация формирования заказов поставщикам.docx.md
docs/sources/HackAlem AI_ Автоматизация формирования заказов поставщикам.docx.pdf
docs/sources/almaty-routing/locations.json
docs/sources/almaty-routing/osrm-table.json
docs/sources/audit-baseline.json
docs/sources/manifest.json
docs/sources/workbook-inventory.json
experiments/.gitignore
experiments/INDEX.md
experiments/README.md
experiments/comparison.csv
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/calculation/__init__.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/calculation/contracts.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/calculation/evaluation.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/calculation/forecasting.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/calculation/inputs.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/calculation/llm.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/calculation/ml.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/calculation/models.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/calculation/persistence.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/calculation/purchasing.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/intake/adapters/normalization.py
experiments/monthly/20260923-forecast-first/code/backend/src/replenishment/intake/adapters/xlsx.py
experiments/monthly/20260923-forecast-first/code/backend/tests/evaluation/cases.py
experiments/monthly/20260923-forecast-first/code/backend/tests/evaluation/contracts.py
experiments/monthly/20260923-forecast-first/code/experiments/requirements.txt
experiments/monthly/20260923-forecast-first/code/scripts/backtest_monthly_lightgbm.py
experiments/monthly/20260923-forecast-first/results.json
experiments/requirements.txt
experiments/routing/20260923T111348Z-almaty-road-v1/code/backend/pyproject.toml
experiments/routing/20260923T111348Z-almaty-road-v1/code/backend/src/replenishment/cli/almaty_routes.py
experiments/routing/20260923T111348Z-almaty-road-v1/code/backend/src/replenishment/routing.py
experiments/routing/20260923T111348Z-almaty-road-v1/code/backend/src/replenishment/routing_osrm.py
experiments/routing/20260923T111348Z-almaty-road-v1/code/backend/tests/test_routing.py
experiments/routing/20260923T111348Z-almaty-road-v1/code/backend/tests/test_routing_osrm.py
experiments/routing/20260923T111348Z-almaty-road-v1/code/backend/uv.lock
experiments/routing/20260923T111348Z-almaty-road-v1/locations.geojson
experiments/routing/20260923T111348Z-almaty-road-v1/locations.json
experiments/routing/20260923T111348Z-almaty-road-v1/manifest.json
experiments/routing/20260923T111348Z-almaty-road-v1/osrm-baseline-day0.json
experiments/routing/20260923T111348Z-almaty-road-v1/osrm-baseline-day3.json
experiments/routing/20260923T111348Z-almaty-road-v1/osrm-proposed-day0.json
experiments/routing/20260923T111348Z-almaty-road-v1/osrm-proposed-day3.json
experiments/routing/20260923T111348Z-almaty-road-v1/osrm-table.json
experiments/routing/20260923T111348Z-almaty-road-v1/results.json
experiments/routing/20260923T111348Z-almaty-road-v1/routes.geojson
experiments/routing/20260923T111348Z-almaty-road-v1/scenario.json
experiments/routing/README.md
experiments/runs/20260923T093731649804Z-baseline-v1/code/backtest_demand.py
experiments/runs/20260923T093731649804Z-baseline-v1/diagnostics.json
experiments/runs/20260923T093731649804Z-baseline-v1/manifest.json
experiments/runs/20260923T093731649804Z-baseline-v1/results.json
experiments/runs/20260923T093758721157Z-intermittent-v1/code/backtest_demand.py
experiments/runs/20260923T093758721157Z-intermittent-v1/code/backtest_intermittent.py
experiments/runs/20260923T093758721157Z-intermittent-v1/manifest.json
experiments/runs/20260923T093758721157Z-intermittent-v1/results.json
experiments/runs/20260923T093912139814Z-lightgbm-v1/code/backtest_demand.py
experiments/runs/20260923T093912139814Z-lightgbm-v1/code/backtest_intermittent.py
experiments/runs/20260923T093912139814Z-lightgbm-v1/code/backtest_lightgbm.py
experiments/runs/20260923T093912139814Z-lightgbm-v1/manifest.json
experiments/runs/20260923T093912139814Z-lightgbm-v1/results.json
experiments/runs/20260923T095929639835Z-lightgbm-ablation-v1/code/backtest_demand.py
experiments/runs/20260923T095929639835Z-lightgbm-ablation-v1/code/backtest_intermittent.py
experiments/runs/20260923T095929639835Z-lightgbm-ablation-v1/code/backtest_lightgbm.py
experiments/runs/20260923T095929639835Z-lightgbm-ablation-v1/code/summarize_lightgbm_ablation.py
experiments/runs/20260923T095929639835Z-lightgbm-ablation-v1/manifest.json
experiments/runs/20260923T095929639835Z-lightgbm-ablation-v1/results.json
experiments/runs/20260923T101945737047Z-demand-cleaning-v1/code/backtest_cleaning.py
experiments/runs/20260923T101945737047Z-demand-cleaning-v1/code/backtest_demand.py
experiments/runs/20260923T101945737047Z-demand-cleaning-v1/code/backtest_intermittent.py
experiments/runs/20260923T101945737047Z-demand-cleaning-v1/code/cleaning.py
experiments/runs/20260923T101945737047Z-demand-cleaning-v1/manifest.json
experiments/runs/20260923T101945737047Z-demand-cleaning-v1/results.json
experiments/runs/20260923T102653146360Z-lightgbm-cleaning-v1/code/backtest_cleaning.py
experiments/runs/20260923T102653146360Z-lightgbm-cleaning-v1/code/backtest_demand.py
experiments/runs/20260923T102653146360Z-lightgbm-cleaning-v1/code/backtest_intermittent.py
experiments/runs/20260923T102653146360Z-lightgbm-cleaning-v1/code/backtest_lightgbm.py
experiments/runs/20260923T102653146360Z-lightgbm-cleaning-v1/code/cleaning.py
experiments/runs/20260923T102653146360Z-lightgbm-cleaning-v1/manifest.json
experiments/runs/20260923T102653146360Z-lightgbm-cleaning-v1/results.json
experiments/runs/20260923T104442154821Z-lightgbm-combined-v1/code/backtest_cleaning.py
experiments/runs/20260923T104442154821Z-lightgbm-combined-v1/code/backtest_demand.py
experiments/runs/20260923T104442154821Z-lightgbm-combined-v1/code/backtest_intermittent.py
experiments/runs/20260923T104442154821Z-lightgbm-combined-v1/code/backtest_lightgbm.py
experiments/runs/20260923T104442154821Z-lightgbm-combined-v1/code/cleaning.py
experiments/runs/20260923T104442154821Z-lightgbm-combined-v1/code/summarize_combined_forecast.py
experiments/runs/20260923T104442154821Z-lightgbm-combined-v1/manifest.json
experiments/runs/20260923T104442154821Z-lightgbm-combined-v1/results.json
frontend/.gitignore
frontend/Dockerfile
frontend/README.md
frontend/index.html
frontend/nginx.conf
frontend/package-lock.json
frontend/package.json
frontend/public/favicon.svg
frontend/src/purchasing/api.js
frontend/src/purchasing/connected-workspace.jsx
frontend/src/purchasing/connected-workspace.test.jsx
frontend/src/purchasing/data-sources.css
frontend/src/purchasing/data-sources.jsx
frontend/src/purchasing/data-sources.test.jsx
frontend/src/purchasing/elektro-workspace.jsx
frontend/src/purchasing/elektro-workspace.test.jsx
frontend/src/purchasing/elektro.css
frontend/src/purchasing/forecast-period.jsx
frontend/src/purchasing/forecast-period.test.jsx
frontend/src/purchasing/main.jsx
frontend/src/purchasing/period.css
frontend/src/purchasing/planning-api.js
frontend/src/purchasing/planning-api.test.js
frontend/src/purchasing/product-evidence.css
frontend/src/purchasing/product-evidence.jsx
frontend/src/purchasing/purchasing-data.js
frontend/src/purchasing/purchasing-prototype.css
frontend/src/purchasing/replenishment-demo.js
frontend/src/purchasing/replenishment-demo.test.js
frontend/src/purchasing/saved-orders.jsx
frontend/src/purchasing/source-tables.jsx
frontend/src/purchasing/source-tables.test.jsx
frontend/tsconfig.json
frontend/vite.config.ts
frontend/zakupki.html
scripts/backtest_cleaning.py
scripts/backtest_demand.py
scripts/backtest_intermittent.py
scripts/backtest_lightgbm.py
scripts/backtest_monthly_lightgbm.py
scripts/check_eval_contract.py
scripts/check_experiment_registry.py
scripts/evaluate.py
scripts/register_experiment.py
scripts/summarize_cleaning_experiment.py
scripts/summarize_combined_forecast.py
scripts/summarize_demand_experiment.py
scripts/summarize_lightgbm_ablation.py
scripts/verify_purchasing_http.py
Ветки (7)

Обсуждение 0 комментариев

Войдите, чтобы комментировать

Пока нет комментариев — будьте первым.