AAYMA
RU
Войти

Агент управления тарифными маркетинговыми кампаниями

Python-агент для кейса Beeline: выбирает аудитории, целевые тарифы и каналы, проверяет гипотезы пилотами через env.run_pilot и распределяет бюджет…

Доведённый продукт
Команда «Wai» 19💬 0 комментариевс 23 сентября 2026 г.

О проекте

Команда: Wai
Кейс HackAlem.ai: Телеком — Beeline
Стадия: Доведённый продукт

Задача кейса: Агент, который решает, каким абонентам какой тариф предложить (чистый прирост ARPU)

Суть

Python-агент для кейса Beeline: выбирает аудитории, целевые тарифы и каналы, проверяет гипотезы пилотами через env.run_pilot и распределяет бюджет на итоговые кампании (до 10), чтобы максимизировать чистый прирост ARPU.

Как устроено

candidate_research.py группирует абонентов по текущему тарифу и ARPU-сегменту и строит до 3 гипотез целевого тарифа на группу, начальные оценки берутся из дедуплицированной истории change_tariff.csv. Агент последовательно выбирает пилоты с учётом ценности информации и уменьшения неопределённости и после каждого наблюдения делает байесовское обновление. Планировщик по консервативной оценке (среднее − 0.5σ) жадно выбирает кампании и каналы (push/sms/digital_ads/call) с учётом ресурсов и пересечения аудиторий. Есть резервная логика при сбоях. make_submission.py с seed 42 выпускает submission.csv.

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

  • Bayesian updating
  • sequential pilot selection (value of information)
  • greedy resource allocation
  • conservative lower-bound estimate
  • history deduplication
  • fallback plan

Метрики

Чистый прирост ARPU 5 063 252 (seed 42); медиана по seeds 0–9 4 808 448, min/max 4 435 121 / 5 051 876, 10/10 положительны; 20 пилотов / 6 кампаний; бюджет 99 932 из 100 000; 17 тестов

Особенности

Схема explore/exploit с байесовским обновлением по пилотам вместо слепого доверия истории из другой выборки. В experiments/ лежат ablation, robustness shift и сравнение альтернативных агентов. В репозитории набор .agents/skills для AI-ассистента (EDA, data-quality audit и др.).

Стек

Python · numpy · pandas · unittest · GitHub Actions


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

README

README.md

Агент управления тарифными маркетинговыми кампаниями

Решение для кейса Beeline на HackAlem: Python-агент помогает маркетинговому аналитику составить план предложений по смене тарифа. Он выбирает аудиторию, целевой тариф и канал связи, проверяет гипотезы небольшими пилотами и распределяет оставшиеся ресурсы между финальными кампаниями.

Все данные и результаты синтетические. Они не описывают реальных клиентов или финансовые показатели Beeline.

Финальная версия находится в challenges/beeline-tariff-campaigns/. Основные артефакты — agent.py и воспроизводимый submission.csv. Для работы агента также нужны модули candidate_research.py и campaign_planner.py.

Задача и пользователь

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

История относится к другой выборке абонентов. Агент использует её для начальной оценки, а затем уточняет эффект по пилотам на текущей аудитории. Цель — увеличить чистый прирост ARPU, то есть средней выручки на абонента, с учётом стоимости коммуникаций:

Чистый результат = прирост ARPU по уникальным абонентам − стоимость контактов

В результат входят пилоты и финальные кампании. Повторные контакты не умножают эффект: оценщик учитывает для каждого абонента лучшую кампанию, а стоимость контактов сохраняется.

Что реализовано

  • Гипотезы по текущему тарифу и ARPU-сегменту: до трёх целевых тарифов на каждую группу аудитории.
  • Слабые исторические оценки эффекта с удалением точных дубликатов и снижением доверия к редким переходам.
  • Последовательный выбор пилотов с учётом ожидаемой пользы новых наблюдений и уменьшения неопределённости.
  • Обновление оценок по фактической обратной связи env.run_pilot(...).
  • Выбор каналов push, sms, digital_ads и call с учётом эффекта, стоимости и ресурсов.
  • Планирование до десяти финальных кампаний с учётом пересечения аудиторий.
  • Резервная логика при ошибках обработки пилотов или планирования, сохраняющая пользу уже проведённых пилотов.
  • Генерация submission.csv, проверки ограничений, воспроизводимости и обработки ошибок.

На предоставленных данных формируется 189 гипотез для 63 групп аудитории. Это результат обработки входных таблиц, а не список тарифов или клиентов, зашитый в агент.

Как работает решение

  1. Получение среды. Оценщик вызывает Agent().act(env). Среда предоставляет аудиторию, тарифы, параметры каналов, остатки ресурсов и метод запуска пилотов.
  2. Подготовка гипотез. candidate_research.py группирует аудиторию по текущему тарифу и ARPU-сегменту. История data/change_tariff.csv задаёт начальные оценки. Если история недоступна, используются нейтральные гипотезы для ближайших более дорогих тарифов.
  3. Пилоты. Агент последовательно выбирает гипотезы для проверки. Обычно используется SMS и до 200 клиентов на пилот. После каждого наблюдения обновляются средняя оценка эффекта и её неопределённость. Выбор учитывает как поиск лучшего предложения, так и дополнительную проверку перспективного варианта.
  4. Планирование. Для всех каналов, включая бесплатный push, применяется осторожная оценка: средний эффект − 0,5 × стандартное отклонение. Планировщик последовательно выбирает кампании с наибольшим ожидаемым дополнительным чистым эффектом, проверяя оставшиеся ресурсы.
  5. Результат. act(env) возвращает список словарей с аудиториями, тарифами и каналами. Скрипт make_submission.py запускает агента с фиксированным seed 42 и сохраняет план в CSV.

При сбое планировщика агент использует резервный план. Если все оценки отрицательны, резервная логика ищет небольшую допустимую аудиторию с наименьшей оценкой потерь, чтобы выполнить требование вернуть хотя бы одну кампанию.

Архитектура

flowchart LR
    E["env: аудитория, тарифы, каналы и лимиты"] --> A["agent.py"]
    E --> C["candidate_research.py"]
    H["data/change_tariff.csv"] --> C
    C --> A
    A <-->|"пилоты и наблюдения"| P["env.run_pilot"]
    A --> L["campaign_planner.py"]
    L --> R["Список финальных кампаний"]
    R --> S["make_submission.py → submission.csv"]

Пути в таблице указаны относительно challenges/beeline-tariff-campaigns/.

КомпонентНазначение
agent.pyТочка входа, цикл пилотов и обработка сбоев
candidate_research.pyГруппы аудитории и исторические гипотезы
campaign_planner.pyБайесовское обновление оценок, выбор пилотов и распределение ресурсов
submission.csvВоспроизводимый результат для сдачи
requirements.txtЗависимости Python
tests/Проверки интерфейса, лимитов, воспроизводимости и резервной логики; отдельные тесты исследовательских моделей
environment.py, mock_environment.pyСреда организатора и её локальная имитация
scoring_core.py, local_eval.py, make_submission.pyОрганизаторские инструменты оценки и подготовки результата
data/, customer_profile.csvИсходные данные в предусмотренных организатором путях
experiments/Исследовательские скрипты, альтернативные агенты, результаты и производные таблицы

Финальный агент не импортирует код и не читает результаты из experiments/. Исходные данные и скрипты организатора сохранены без изменений.

Технологии и интеграции

Используются Python, numpy>=1.24 и pandas>=2.0; тесты написаны на стандартном unittest. В конфигурации GitHub Actions указан Python 3.11.

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

Установка и запуск

Команды выполняются из корня клонированного репозитория. Можно использовать Python 3.11, указанный в CI проекта.

Windows PowerShell

cd challenges\beeline-tariff-campaigns
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe local_eval.py
.\.venv\Scripts\python.exe local_eval.py --runs 10
.\.venv\Scripts\python.exe make_submission.py
.\.venv\Scripts\python.exe -m unittest discover -s tests -v

Здесь интерпретатор окружения вызывается напрямую, поэтому активация PowerShell-скриптом не нужна. Если окружение уже создано и зависимости установлены, шаги подготовки можно пропустить.

Linux / macOS

cd challenges/beeline-tariff-campaigns
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python local_eval.py
python local_eval.py --runs 10
python make_submission.py
python -m unittest discover -s tests -v

Официальные команды нужно запускать из каталога challenges/beeline-tariff-campaigns: скрипты организатора используют относительные пути к данным. Команда python agent.py сама по себе не запускает оценку: класс агента вызывается оценщиком через act(env).

Сценарий проверки для жюри

  1. Запустить local_eval.py. Проверить статус PASS, наличие пилотов и отсутствие отброшенных или обрезанных финальных кампаний. Ограничение в десять кампаний относится к финальному плану; отчёт оценщика также включает пилоты.
  2. Запустить local_eval.py --runs 10 для проверки поведения при разных выборках и шуме пилотов.
  3. Запустить make_submission.py. В каталоге появится или обновится submission.csv.
  4. Запустить генератор ещё раз и сравнить содержимое CSV. В Git-копии с исходными данными команда git diff --exit-code -- submission.csv проверяет совпадение с сохранённым результатом.
  5. Запустить python -m unittest discover -s tests -v из активированного окружения либо соответствующим интерпретатором из блока для Windows.

Подтверждённый локальный результат

Проверки выполнены 23.09.2026 на финальном агенте и предоставленной локальной среде.

ПроверкаРезультат
Один запуск, seed 42PASS
Чистый прирост ARPU, seed 425 063 252 условных единиц
Проведённые пилоты / финальные кампании20 / 6
Все контакты, включая пилоты15 000
Расход бюджета, включая пилоты99 932 из 100 000
Медиана чистого результата, seeds 0–94 808 448
Минимум / максимум за десять запусков4 435 121 / 5 051 876
Положительные результаты10 из 10
Набор автоматических тестов17 успешно пройденных тестов

submission.csv воспроизводится из финального кода. Локальный балл не предсказывает результат судейства: эффекты в скрытой среде будут другими. Разные seed локального оценщика меняют пилотные выборки и шум, но не создают новые скрытые эффекты.

Данные и их замена

Пути указаны относительно каталога кейса.

Файл или источникСодержание и использование
env.customer_profileАктуальная аудитория; в локальном запуске загружается из customer_profile.csv
env.tariffs, env.channelsТарифы и параметры каналов; локальный каталог загружается из data/dict_tariff.csv
env.run_pilot(...)Наблюдения на текущей аудитории для уточнения решений
data/change_tariff.csvИстория переходов для начальных оценок; единственный файл данных, который агент читает напрямую
data/traffic.csv, data/arpu_monthly.csvДополнительная история для исследований; финальный агент её не читает
tariff_dictionary.csv, feature_dictionary.csvСправочники тарифов и признаков

В исходном профиле 23 441 абонент, в каталоге — 21 тариф. Текущая аудитория и тарифы поступают через env, поэтому агент не подменяет судейские данные локальными CSV.

Для других локальных данных нужно сохранить предусмотренные организатором имена файлов и схемы колонок. Перенос в папку input/ не требуется: официальный оценщик ожидает customer_profile.csv и файлы в data/. История разрешается относительно agent.py; при её отсутствии или ошибке чтения агент переходит к нейтральным гипотезам. Для воспроизведения сохранённого submission.csv нужна исходная история.

Подробный перечень входных файлов отделён от производных таблиц и искусственных тестовых эффектов, которые хранятся в experiments/.

Ограничения

Лимиты кейса действуют одновременно:

РесурсЛимит
Финальные кампанииОт 1 до 10
Абоненты в одной финальной кампанииНе более 5 000
Все контакты, включая пилотыНе более 15 000
Общий бюджет, включая пилотыНе более 100 000 условных единиц
ПилотыНе более 20, по 10–200 абонентов
Время работы по требованиям кейсаНе более 10 минут

Качество решения ограничено историческими гипотезами и числом пилотов. На каждую группу остаётся до трёх целевых тарифов: другие варианты могут быть пропущены. Частота выбора тарифа в истории служит лишь приближением конверсии на новой аудитории. Жадный планировщик не гарантирует глобально оптимальное распределение ресурсов. Без идентификаторов участников пилотов через публичный интерфейс нельзя полностью исключить пересечения пилотных и финальных контактов.

Следующий пилот выбирается по текущим наблюдениям, но размер обычно остаётся равным 200 при достаточной аудитории и ресурсах. Внешний маркетинговый сервис не подключён: агент возвращает план для среды кейса и не рассылает реальные сообщения клиентам.

Развёртывание и состав сдачи

Проект запускается локально как Python-решение. Веб-интерфейс, серверное развёртывание и публичная онлайн-версия отсутствуют; для этого кейса они не требуются.

Для сдачи сохраните вместе agent.py, candidate_research.py, campaign_planner.py, requirements.txt и сгенерированный submission.csv. Историю data/change_tariff.csv и организаторское окружение нужно сохранить в предусмотренной структуре для воспроизведения локального результата. Исследовательские альтернативы не являются финальной версией агента.

Документация и исследования

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

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

Yernaz Satybaldiyev 8DDBull 6Margulan 6

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

  • 2026-09-23 17:45docs: prepare Russian submission README and organize research artifactsDDBull
  • 2026-09-23 17:38last 2Yernaz Satybaldiyev
  • 2026-09-23 17:28lastYernaz Satybaldiyev
  • 2026-09-23 17:24research: compare teammate agent and evaluate historical model integrationsDDBull
  • 2026-09-23 17:21feat: add configurable timeout for LLM selection and update testsMargulan
  • 2026-09-23 17:02feat: implement optional LLM selection for pilot hypotheses and update agent logicMargulan
  • 2026-09-23 16:55adaptive pilotsYernaz Satybaldiyev
  • 2026-09-23 16:45feat: improve campaign strategy with validated pilot selectionDauren Dyussupov
Все коммиты (20)
  • 2026-09-23 16:43candidates generationYernaz Satybaldiyev
  • 2026-09-23 16:34added offline priorYernaz Satybaldiyev
  • 2026-09-23 16:07increased pilots to 20Yernaz Satybaldiyev
  • 2026-09-23 16:04feat: prepare deduplicated tariff history summariesDDBull
  • 2026-09-23 15:27feat: implement Beeline tariff campaign agent with resource-aware planning and evaluationMargulan
  • 2026-09-23 15:13chore: align repository with Beeline Python challengeDDBull
  • 2026-09-23 15:03docs: update README and kickoff sheet with Beeline case details; add team tasks documentMargulan
  • 2026-09-23 14:54Include Beeline challenge datasetsYernaz Satybaldiyev
  • 2026-09-23 14:52Add Beeline tariff campaign challenge materialsYernaz Satybaldiyev
  • 2026-09-23 14:49docs: enhance Beeline case requirements with pilot design insights and decision-making detailsMargulan
  • 2026-09-23 14:44docs: update kickoff sheet and add detailed requirements for Beeline tariff marketing campaignsMargulan
  • 2026-09-23 14:34chore: establish HackAlem project baselineDDBull
Структура репозитория (168 файлов)
.agents/skills/analysis-planning/SKILL.md
.agents/skills/analysis-planning/assets/analysis_plan_template.md
.agents/skills/analysis-planning/assets/kickoff_doc_template.md
.agents/skills/analysis-planning/references/effort_estimation.md
.agents/skills/analysis-planning/references/risks_dependencies.md
.agents/skills/analysis-planning/references/scoping_framework.md
.agents/skills/business-metrics-calculator/SKILL.md
.agents/skills/business-metrics-calculator/assets/metrics_report_template.md
.agents/skills/business-metrics-calculator/references/metric_definitions.md
.agents/skills/business-metrics-calculator/scripts/saas_metrics.py
.agents/skills/data-quality-audit/SKILL.md
.agents/skills/data-quality-audit/assets/audit_report_template.html
.agents/skills/data-quality-audit/assets/quality_rubric.md
.agents/skills/data-quality-audit/references/business_rule_patterns.md
.agents/skills/data-quality-audit/references/quality_dimensions.md
.agents/skills/data-quality-audit/scripts/duplicate_finder.py
.agents/skills/data-quality-audit/scripts/freshness_check.py
.agents/skills/data-quality-audit/scripts/null_counter.py
.agents/skills/data-quality-audit/scripts/referential_integrity.py
.agents/skills/data-quality-audit/scripts/value_range_validator.py
.agents/skills/executive-summary-generator/SKILL.md
.agents/skills/executive-summary-generator/assets/executive_summary_template.md
.agents/skills/executive-summary-generator/references/executive_communication.md
.agents/skills/executive-summary-generator/references/pyramid_principle_guide.md
.agents/skills/insight-synthesis/SKILL.md
.agents/skills/insight-synthesis/assets/insight_brief_template.md
.agents/skills/insight-synthesis/references/insight_framework.md
.agents/skills/insight-synthesis/references/prioritization_guide.md
.agents/skills/programmatic-eda/SKILL.md
.agents/skills/programmatic-eda/assets/eda_report_template.md
.agents/skills/programmatic-eda/assets/findings_summary.md
.agents/skills/programmatic-eda/references/eda_checklist.md
.agents/skills/programmatic-eda/references/pandas_polars_recipes.md
.agents/skills/programmatic-eda/references/quality_thresholds.md
.agents/skills/programmatic-eda/scripts/correlation_explorer.py
.agents/skills/programmatic-eda/scripts/data_overview.py
.agents/skills/programmatic-eda/scripts/distribution_summary.py
.agents/skills/programmatic-eda/scripts/null_profiler.py
.agents/skills/programmatic-eda/scripts/outlier_detector.py
.agents/skills/root-cause-investigation/SKILL.md
.agents/skills/root-cause-investigation/assets/rca_report_template.md
.agents/skills/root-cause-investigation/references/hypothesis_testing_guide.md
.agents/skills/root-cause-investigation/references/rca_framework.md
.agents/skills/root-cause-investigation/scripts/drilldown_analyzer.py
.agents/skills/start-hackathon/SKILL.md
.agents/skills/start-hackathon/agents/openai.yaml
.agents/skills/visualization-builder/SKILL.md
.agents/skills/visualization-builder/assets/viz_spec_template.md
.agents/skills/visualization-builder/references/chart_selection_guide.md
.agents/skills/visualization-builder/references/visual_design_principles.md
.agents/skills/visualization-builder/scripts/chart_builder.py
.github/workflows/python.yml
.gitignore
AGENTS.md
README.md
challenges/beeline-tariff-campaigns/PARTICIPANT_GUIDE.md
challenges/beeline-tariff-campaigns/PARTICIPANT_GUIDE.pdf
challenges/beeline-tariff-campaigns/README.md
challenges/beeline-tariff-campaigns/agent.py
challenges/beeline-tariff-campaigns/agent_template.py
challenges/beeline-tariff-campaigns/campaign_planner.py
challenges/beeline-tariff-campaigns/candidate_research.py
challenges/beeline-tariff-campaigns/customer_profile.csv
challenges/beeline-tariff-campaigns/data/README.md
challenges/beeline-tariff-campaigns/data/arpu_monthly.csv
challenges/beeline-tariff-campaigns/data/change_tariff.csv
challenges/beeline-tariff-campaigns/data/dict_tariff.csv
challenges/beeline-tariff-campaigns/data/traffic.csv
challenges/beeline-tariff-campaigns/environment.py
challenges/beeline-tariff-campaigns/experiments/README.md
challenges/beeline-tariff-campaigns/experiments/baseline_check.json
challenges/beeline-tariff-campaigns/experiments/benchmark_agents.py
challenges/beeline-tariff-campaigns/experiments/borrow_prior.py
challenges/beeline-tariff-campaigns/experiments/compare_main.py
challenges/beeline-tariff-campaigns/experiments/final_comparison_30_59.json
challenges/beeline-tariff-campaigns/experiments/integrate_prior.py
challenges/beeline-tariff-campaigns/experiments/integrated_pilots_10_29.json
challenges/beeline-tariff-campaigns/experiments/integration_baseline/README.md
challenges/beeline-tariff-campaigns/experiments/integration_baseline/agent.py
challenges/beeline-tariff-campaigns/experiments/integration_baseline/campaign_planner.py
challenges/beeline-tariff-campaigns/experiments/integration_baseline/candidate_research.py
challenges/beeline-tariff-campaigns/experiments/integration_conclusion.json
challenges/beeline-tariff-campaigns/experiments/integration_development.json
challenges/beeline-tariff-campaigns/experiments/integration_development_round2.json
challenges/beeline-tariff-campaigns/experiments/integration_effect_worlds.csv
challenges/beeline-tariff-campaigns/experiments/integration_effect_worlds_round2.csv
challenges/beeline-tariff-campaigns/experiments/integration_rank_diagnostics.json
challenges/beeline-tariff-campaigns/experiments/integration_rank_snapshot/README.md
challenges/beeline-tariff-campaigns/experiments/integration_rank_snapshot/agent.py
challenges/beeline-tariff-campaigns/experiments/integration_rank_snapshot/campaign_planner.py
challenges/beeline-tariff-campaigns/experiments/integration_rank_snapshot/candidate_research.py
challenges/beeline-tariff-campaigns/experiments/integration_rank_snapshot/transition_prior.py
challenges/beeline-tariff-campaigns/experiments/integration_rejected/README.md
challenges/beeline-tariff-campaigns/experiments/integration_rejected/agent.py
challenges/beeline-tariff-campaigns/experiments/integration_rejected/campaign_planner.py
challenges/beeline-tariff-campaigns/experiments/integration_rejected/candidate_research.py
challenges/beeline-tariff-campaigns/experiments/integration_rejected/transition_prior.py
challenges/beeline-tariff-campaigns/experiments/integration_selection.json
challenges/beeline-tariff-campaigns/experiments/integration_selection_round2.json
challenges/beeline-tariff-campaigns/experiments/integration_validation.json
challenges/beeline-tariff-campaigns/experiments/integration_validation_round2.json
challenges/beeline-tariff-campaigns/experiments/main_ablation_results.json
challenges/beeline-tariff-campaigns/experiments/main_ablations.py
challenges/beeline-tariff-campaigns/experiments/main_comparison.md
challenges/beeline-tariff-campaigns/experiments/main_comparison_diagnostics.json
challenges/beeline-tariff-campaigns/experiments/main_comparison_plan.md
challenges/beeline-tariff-campaigns/experiments/main_comparison_results.json
challenges/beeline-tariff-campaigns/experiments/main_snapshot/README.md
challenges/beeline-tariff-campaigns/experiments/main_snapshot/agent.py
challenges/beeline-tariff-campaigns/experiments/main_snapshot/campaign_planner.py
challenges/beeline-tariff-campaigns/experiments/main_snapshot/candidate_research.py
challenges/beeline-tariff-campaigns/experiments/main_snapshot/transition_prior.py
challenges/beeline-tariff-campaigns/experiments/pilot_compare.py
challenges/beeline-tariff-campaigns/experiments/pilot_findings.md
challenges/beeline-tariff-campaigns/experiments/pilot_results_0_10_baseline_fixed100_adaptive_sms_adaptive_channels.json
challenges/beeline-tariff-campaigns/experiments/pilot_results_0_10_confirm_uniform.json
challenges/beeline-tariff-campaigns/experiments/pilot_results_0_10_confirm_winners.json
challenges/beeline-tariff-campaigns/experiments/pilot_results_10_30_baseline_confirm_winners.json
challenges/beeline-tariff-campaigns/experiments/pilot_snapshot/agent.py
challenges/beeline-tariff-campaigns/experiments/pilot_snapshot/campaign_planner.py
challenges/beeline-tariff-campaigns/experiments/pilot_snapshot/candidate_research.py
challenges/beeline-tariff-campaigns/experiments/planner_channel_pairs.py
challenges/beeline-tariff-campaigns/experiments/planner_compare.py
challenges/beeline-tariff-campaigns/experiments/planner_comparison_0_10.json
challenges/beeline-tariff-campaigns/experiments/planner_comparison_consistent_0_10.json
challenges/beeline-tariff-campaigns/experiments/planner_comparison_consistent_nosearch_0_10.json
challenges/beeline-tariff-campaigns/experiments/planner_comparison_consistent_nosearch_10_30.json
challenges/beeline-tariff-campaigns/experiments/planner_joint.py
challenges/beeline-tariff-campaigns/experiments/planner_joint_0_30.json
challenges/beeline-tariff-campaigns/experiments/planner_joint_pairs_0_10.json
challenges/beeline-tariff-campaigns/experiments/planner_shadow.py
challenges/beeline-tariff-campaigns/experiments/planner_shadow_base.py
challenges/beeline-tariff-campaigns/experiments/prepare_history.py
challenges/beeline-tariff-campaigns/experiments/prepared_history/README.md
challenges/beeline-tariff-campaigns/experiments/prepared_history/arpu_monthly_median_by_id_month.csv
challenges/beeline-tariff-campaigns/experiments/prepared_history/change_tariff_exact_deduplicated.csv
challenges/beeline-tariff-campaigns/experiments/prepared_history/transition_summary.csv
challenges/beeline-tariff-campaigns/experiments/prior_integration_plan.md
challenges/beeline-tariff-campaigns/experiments/robustness_audit.md
challenges/beeline-tariff-campaigns/experiments/robustness_public_contract.py
challenges/beeline-tariff-campaigns/experiments/robustness_public_contract_results.json
challenges/beeline-tariff-campaigns/experiments/robustness_shift.py
challenges/beeline-tariff-campaigns/experiments/robustness_shift_baseline.json
challenges/beeline-tariff-campaigns/experiments/robustness_shift_models.csv
challenges/beeline-tariff-campaigns/experiments/robustness_shift_results.json
challenges/beeline-tariff-campaigns/experiments/transition_prior.py
challenges/beeline-tariff-campaigns/feature_dictionary.csv
challenges/beeline-tariff-campaigns/local_eval.py
challenges/beeline-tariff-campaigns/make_submission.py
challenges/beeline-tariff-campaigns/mock_environment.py
challenges/beeline-tariff-campaigns/requirements.txt
challenges/beeline-tariff-campaigns/scoring_core.py
challenges/beeline-tariff-campaigns/submission.csv
challenges/beeline-tariff-campaigns/tariff_dictionary.csv
challenges/beeline-tariff-campaigns/tests/test_agent_contract.py
challenges/beeline-tariff-campaigns/tests/test_agent_resilience.py
challenges/beeline-tariff-campaigns/tests/test_historical_candidates.py
challenges/beeline-tariff-campaigns/tests/test_transition_prior.py
docs/00-kickoff.md
docs/agent-improvement-plan.md
docs/agent-improvement-results.md
docs/beeline-case-requirements.md
docs/data-profile.md
docs/demo-script.md
docs/historical-model-integration.md
docs/readme_prompt_provided_organizers.md
docs/team-tasks-beeline.md
docs/updated_rules.md
Ветки (3)

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

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

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