Маркетинговые мероприятия⚓︎
Общие положения начисления бюджета⚓︎
- Бюджет для каждой аптеки начисляется отдельно, но зависит от показателей работы всей сети, к которой относится аптека
- Бюджет делится на две части: «Общий маркетинг» и «Товар дня» итоговая сумма складывается арифметически из двух этих частей, которые рассчитываются независимо.
- Бюджет за мероприятие «Товар дня» начисляется независимо от выполнения планов по другим типам мероприятий. Базой для расчета бонуса является объем закупки в промо-период (стандарт: месяц проведения акции и 10 дней до него) конкретных товаров (или разрешенных для их замены SKU), в зачет идет закуп только у разрешенных дистрибьюторов (по контракту, содержащему конкретный товар). В одном мероприятии участвует 4 товара (без учета разрешенных заменителей), мероприятие организуется на каждый месяц отдельно. План выставляется в упаковках на каждый товар и на каждую участвующую аптеку. Бонус за каждую закупленную упаковку устанавливается для каждого товара в каждом мероприятии индивидуально (стандарт = 30% от суммы закупа в учетных ценах АСНА) Выполнение оценивается по сети целиком, в соответствии с описанием мероприятия «Товар дня»
- Бюджет по «Общему маркетингу» начисляется по каждому товару из маркетингового ассортимента в отдельности. На каждый товар может быть несколько уровней возможного бонуса (2 или 4) в зависимости от группы маркетингового ассортимента, к которой товар относится. Какой уровень бонуса в итоге получит сеть по каждому товару зависит от выполнения сетью планов по маркетинговым мероприятиям.
- Базой для расчета бюджета аптеки является маркетинговая закупка в учетных ценах АСНА-CIP (учетная цена на каждый маркетинговый товар устанавливается на квартал со стороны АСНА) закупленного аптекой товара, при условии, что для этой аптеки товар является маркетинговым в данном квартале (определяется мероприятиями типа «Маркетинговый ассортимент») и товар был куплен у разрешенного поставщика (для части производителей на квартал устанавливаются ограничения дистрибьюторов – только купленный у этих поставщиков товар данного производителя идет в зачет для начисления бюджета).
Условия начисления бюджета⚓︎
Маркетинговый ассортимент⚓︎
Для товаров из Группа 1 и Группа 2
На товары данных групп начисляется:
- Бонус 1, если БДН по сети не выполнено.
- Бонус 2, если БДН по сети выполнено.
Для товаров из Группа 3 УСТМ
На товары данной группы начисляется:
- Бонус 1, если БДН по сети не выполнено и план по УСТМ-мероприятию (с данным товаром) не выполнен.
- Бонус 2, если БДН по сети выполнено, но план по УСТМ-мероприятию (с данным товаром) не выполнен.
- Бонус 3, если БДН по сети не выполнено, но план по УСТМ-мероприятию (с данным товаром) выполнен.
- Бонус 4, если БДН по сети выполнено, и план по УСТМ-мероприятию (с данным товаром) тоже выполнен.
Бездефектурное наличие⚓︎
Для всех товаров
Выполнение считается по сети целиком. Выполненным условие БДН для сети считается от 85% строк.
УСТМ⚓︎
Для товаров из Группа 3 УСТМ
Выполнение считается в разрезе Сеть-мероприятие-квартал. Мероприятие считается выполненным для сети, если план выполнен на 100% и более.
Товар дня⚓︎
Если мероприятие выполнено по сети, то за зачтенный (по разрешенным дистрибьюторам) факт закупки каждого товара в учетных ценах (АСНА-CIP цены) начисляется заранее обозначенный процент бонуса.
Условия выполнения мероприятия⚓︎
Маркетинговый ассортимент⚓︎
Сеть в любом случае получает минимум Бонус 1. Получение бонуса от 2 до 4 уровня определяется выполнением БДН и УСТМ-мероприятий.
Бездефектурное наличие⚓︎
Процент выполнения сетью матрицы БДН = количество строк (товаров по аптекам сети с планом по БДН), по которым товар был на остатке 80% и более дней в квартале, разделить на суммарное количество строк с планом по аптекам данной сети. Выполненным условие БДН для сети считается от 85% строк.
УСТМ⚓︎
Сеть имеет план закупа в учетных ценах (АСНА-CIP) по каждому мероприятию (набор SKU одного бренда в одной конкурентной группе - "кластере") на квартал. В зачет идет только закуп у разрешенных дистрибьюторов.
Товар дня⚓︎
Мероприятие считается выполненым для сети, если план по 3 из 4-х товаров, участвующих в акции, выполенн минимум на 90%, а на 1 товар минимум на 50%.
Варианты использования в аптечном ПО, повышающие эффективность работы сети с маркетингом⚓︎
Маркетинговый ассортимент⚓︎
- Подсветка в интерфейсе закупки товара
- Приоритезация товаров в рамках группы аналогичных к закупке (если расчет потребности и закуп организован "слотами", и возможен закуп аналогичного товара при более выгодной цене или отсутствии первичного по потребности)
- Использование в кассовом интерфейсе: приоритет при запросе покупателя, подсветка, часть мотивации персонала.
- Комплексный подход к мотивации персонала - начисление баллов за маркетинговые товары, 0 или "-" за немаркетинговые и немаржинальные товары. Отчетность по индивидуальной мотивации, информаирование на кассе о результатах текущей сессии по набранным баллам/выполнению плана конкретным фармацевтом/аптекой/сменой.
Бездефектурное наличие⚓︎
1.Подсветка в интерфейсах закупки, в заказах и черновых накладных, возможно блок на возможность исключить из чернового заказа для заведующих. Подсветка в интерфейсе настройки ассортиментного плана аптеки.
- Автоматический заказ/попадание в черновые заказы
- Увеличенная потребность для заказа - например, на 1 упаковку больше, чем под статистику продаж, чтобы сток не обнулялся.
- Оповещения при обнулении стоков по данным SKU
- Внутренняя аналитика выполнения условий по БДН в разрезе аптек и сети
- Автоматическое включение в ассортиментный план аптеки, невозможность локального (заведующей) исключения позиций - при централизованном управлении сетью.
Разрешенные дистрибьюторы⚓︎
- При заказе товара в первую очередь посылать заказ только разрешенным дистрибьюторам, а к запрещенным, например, только при согласовании ответственным пользователем, если ни у одного разрешенного нет товара, или, какой-то лимит по отличию цены превышен. То есть приоритезация заказа товара по разрешенным поставщикам.
- Подсветка товаров, для которых есть ограничения поставщиков в интерфейсах заказа товара, ассортиментного плана.
УСТМ⚓︎
- Внутренний мониторинг сетью/аптекой выполнения планов АСНА в отчетности. Более оперативен относительно куба и портала АСНА - так как данные не надо валидировать и ждать обменов.
- Настройка мотивации персоанала на продажу конкретных товаров в конкурентных группах (кластерах) - баллы/планы на фармацевта/аптеку + системы мониторинга - индивидуальные на кассе и общие в отчетности.
- Настройка замен/расширения с приоритетом для товаров УСТМ в кассовых модулях. Запрос покупателя на аналогичные товары - напоминание фармацевту о замене в порядке приоритета, о расширении (связанная нозология/группа) - тоже в порядке приоритета с учетом принадлежности товаров к УСТМ и маркетинговому ассортименту в принципе.
Выкладка⚓︎
- Товар из выкладки всегда есть в мероприятиях бездефектурного наличия, поэтому дополнительные меры контроля наличия при соблюдении выше описанных рекомендаций не нужны.
- Если в ПО есть признаки и интерфейс по работе с выкладкой (адресация выкладки, напоминания, авто-печать ценников и т.п.), то там везде можно учитывать этот признак автоматически. Подсвечивать в прайсе, если необходимо.
- При приходовании товаров (в накладных или в ином интерфейсе) нужно подсвечивать и напоминать о необходимости выложить данный товар.
Товар дня⚓︎
- Если в ПО есть календарь мероприятий/ электронная отметка принадлежности к акционной витрине - можно использовать информацию там.
- Можно заранее добавить нужные количества товара/какую-то часть плана в авто-заказ для каждой участвующей аптеки. Избежать таким образом акционной дефектуры.
- Если есть возможность автоматической настройки скидок под мероприятие на определенный период - можно также использовать поступившую информацию.
- Можно использовать для мотивации персонала, загружая планы в систему напрямую/распределяя между сотрудниками.
- Напоминание первостольнику в кассовом модуле при запросе товара из нозологии/группы аналогов. Напоминание на расширение покупки при заказе связанной группы товаров.
- Мотивация персонала: план на аптеку/фармацевта в ПО, отчеты, мониторинг выполнения планов, баллы за продажу и т.п.
- Внутренний мониторинг сетью/аптекой выполнения планов АСНА в отчетности. Более оперативен относительно куба и портала АСНА - так как данные не надо валидировать и ждать обменов.
Скачать описание мероприятий в виде файла Excel
Рекомендуемые поставщики⚓︎
Ежедневно, желательно не чаще одного раза в сутки, вы можете получать информацию о рекомендуемых поставщиках маркетингового товара на каждый товар.
ВНИМАНИЕ!
Справочник содержит очень большое количество записей, поэтому необходимо запрашивать его частями. Если в ответе пришло количество записей меньше чем запрашиваемое количество, то вы получили все имеющиеся записи на данный момент. Кроме этого существует возможность получить справочник рекомендуемых поставщиков другим способом, см. Справочник связей маркетинговый производитель - поставщик и Справочник связей товар - маркетинговый производитель
ЗАПРОС
/v5/references/recommended_suppliers?rv={rv}&count={count}&rvInt={rvInt}&actual={false|true}
Описание⚓︎
Получить справочник рекомендуемых поставщиков по протоколу версии 5, count строк, начиная с версии rv (массив байт) или версии rvInt (int64)
Параметры запроса⚓︎
Имя | Тип | Обяз. | Описание |
---|---|---|---|
count | int | Количество возвращаемых записей, для загрузки частями. Не должно превышать 100000. | |
rv | byte[] | Версия последней записи, для загрузки частями. Берется текущее максимальное значение поля из базы данных. В JSON массив байт представлен в кодировке base64. | |
rvInt | long | Версия последней записи, для загрузки частями. Берется текущее максимальное значение поля из базы данных. | |
actual | bool | Если true, то возвращает только актуальные записи за текущий период. Не забывайте в этом случае перед получением зачищать все полученные ранее данные по рекомендуемым поставщикам в своей базе. Следует иметь в виду, что с этим параметром при получении данных частями, если в момент получения какая-либо запись стала неактуальной, то она не будет передана. Таким образом до следующего получения полного списка, эта строка будет у вас числиться актуальной. По умолчанию false. | |
test | bool | Если true, то вы получите тестовый набор данных |
Заголовки запроса⚓︎
Имя | Описание |
---|---|
Authorization | Bearer token |
Accept | application/json или application/x-json-full |
Пример запроса⚓︎
Успешный ответ⚓︎
HTTP cтатус | Значение |
---|---|
200 | ОК. В теле ответа содержится JSON со справочником. |
Пример ответа⚓︎
Имя | Тип | Описание |
---|---|---|
nnt | int | Уникальный код товара по справочнику АСНА |
inn | string | ИНН поставщика |
begDate | datetime | Дата начала действия рекомендуемого поставщика |
endDate | datetime | Дата окончания действия рекомендуемого поставщика |
actual | bool | Признак актуальности строки |
rv | byte[] | Версия строки. В JSON массив байт представлен в кодировке base64. |
rvInt | int | Версия строки |
Неуспешный ответ⚓︎
HTTP статус | Значение |
---|---|
400 | Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа. |
401 | Unauthorized. Токен авторизации неверный или истек срок его действия |
403 | Forbidden. У вас нет прав на выполнение данной операции |
429 | Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени |
500 | Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса |
Рекомендуемые поставщики по ИНН⚓︎
Ежедневно, желательно не чаще одного раза в сутки, вы можете получать информацию о рекомендуемых поставщиках маркетингового товара на каждый товар.
ЗАПРОС
/v5/references/recommended_suppliers?rv={rv}&count={count}&rvInt={rvInt}&actual={false|true}
Описание⚓︎
Получить справочник рекомендуемых поставщиков, по списку ИНН, по протоколу версии 5, count строк, начиная с версии rv (массив байт) или версии rvInt (int64)
Параметры запроса⚓︎
Имя | Тип | Обяз. | Описание |
---|---|---|---|
count | int | Количество возвращаемых записей, для загрузки частями. Не должно превышать 100000. | |
rv | byte[] | Версия последней записи, для загрузки частями. Берется текущее максимальное значение поля из базы данных. В JSON массив байт представлен в кодировке base64. | |
rvInt | long | Версия последней записи, для загрузки частями. Берется текущее максимальное значение поля из базы данных. | |
actual | bool | Если true, то возвращает только актуальные записи за текущий период. Не забывайте в этом случае перед получением зачищать все полученные ранее данные по рекомендуемым поставщикам в своей базе. Следует иметь в виду, что с этим параметром при получении данных частями, если в момент получения какая-либо запись стала неактуальной, то она не будет передана. Таким образом до следующего получения полного списка, эта строка будет у вас числиться актуальной. По умолчанию false. | |
test | bool | Если true, то вы получите тестовый набор данных |
Заголовки запроса⚓︎
Имя | Описание |
---|---|
Authorization | Bearer token |
Content-Type | application/json |
Accept | application/json или application/x-json-full |
Тело запроса⚓︎
Массив строк(ИНН поставщиков) в формате JSON, см. пример ниже
Пример запроса⚓︎
Успешный ответ⚓︎
HTTP cтатус | Значение |
---|---|
200 | ОК. В теле ответа содержится JSON со справочником. |
Пример ответа⚓︎
Имя | Тип | Описание |
---|---|---|
nnt | int | Уникальный код товара по справочнику АСНА |
inn | string | ИНН поставщика |
begDate | datetime | Дата начала действия рекомендуемого поставщика |
endDate | datetime | Дата окончания действия рекомендуемого поставщика |
actual | bool | Признак актуальности строки |
rv | byte[] | Версия строки. В JSON массив байт представлен в кодировке base64. |
rvInt | int | Версия строки |
Неуспешный ответ⚓︎
HTTP статус | Значение |
---|---|
400 | Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа. |
401 | Unauthorized. Токен авторизации неверный или истек срок его действия |
403 | Forbidden. У вас нет прав на выполнение данной операции |
429 | Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени |
500 | Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса |
Маркетинговые планы⚓︎
Ежедневно, желательно не чаще одного раза в сутки, вы можете получать информацию о планах аптеки по маркетинговым мероприятиям.
ЗАПРОС
/v5/stores/{storeId}/marketing?type={typeId}&test={false|true}
Описание⚓︎
Получить планы по маркетинговым мероприятиям для аптеки storeId по протоколу версии 5, с типом typeId
Параметры запроса⚓︎
Имя | Тип | Обяз. | Описание |
---|---|---|---|
storeId | GUID | Идентификатор аптеки по справочнику АСНА | |
type | int | Тип мероприятия, параметр не является обязательным, если его не указать то вернутся все типы. Таблица с типами мероприятий расположена в конце раздела. Можно передать несколько типов мероприятий, например type=13&type=16&type=9 | |
test | bool | Если true, то вы получите тестовый набор данных | |
full | bool | Если true, то получать не только со статусом Активно, но и с другими статусами. По умолчанию false |
Заголовки запроса⚓︎
Имя | Описание |
---|---|
Authorization | Bearer token |
Accept | application/json или application/x-json-full |
Пример запроса⚓︎
Успешный ответ⚓︎
HTTP cтатус | Значение |
---|---|
200 | ОК. В теле ответа содержится JSON с планами. |
Пример ответа⚓︎
Объект ответа⚓︎
Имя | Тип | Описание |
---|---|---|
full | bool | Признак того что в пакете пришли все мероприятия, а не только изменения (пока true для всех пакетов) |
currentVersion | int | Версия данных (пока не используется) |
headers | Header[] | Массив заголовков маркетинговых мероприятий |
plans | Plan[] | Массив планов мероприятий |
Объект ответа Header⚓︎
Имя | Тип | Описание |
---|---|---|
id | int | Уникальный код мероприятия |
name | string | Наименование мероприятия |
begDate | datetime | Дата начала действия мероприятия |
endDate | datetime | Дата окончания действия мероприятия |
typeId | int | Код типа мероприятия |
type | string | Наименование типа мероприятия |
status | int | Признак удаления (1 - удалена) |
stateId | int | Код состояния мероприятия |
stateName | string | Состояние мероприятия |
Объект ответа Plan⚓︎
Имя | Тип | Описание |
---|---|---|
actionId | int | Уникальный код мероприятия |
periodYM | int | Месяц, на который рассчитан план (ггггмм). |
nnt | int | Код номенклатуры по справочнику АСНА |
qnt | float | План в упаковках |
nntParent | int | Код основного товара по справочнику АСНА |
cip | decimal | АСНА CIP-цена |
bonusPerPiece | decimal | Бонус в рублях на упаковку |
sum | decimal | План в рублях |
status | int | Признак удаления (1 - удалена) |
pf | bool | Признак ПФ (парафарма) |
Неуспешный ответ⚓︎
HTTP статус | Значение |
---|---|
400 | Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа. |
401 | Unauthorized. Токен авторизации неверный или истек срок его действия |
403 | Forbidden. У вас нет прав на выполнение данной операции |
429 | Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени |
500 | Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса |
Типы маркетинговых мероприятий⚓︎
Код | Название | Описание |
---|---|---|
9 | Бездефектурное наличие | Ежедневное наличие на остатках. Передаются поля nnt, qnt (равно 1 для рекомендуемого наличия), nntParent (если есть) |
10 | Выкладка | Ежедневное наличие на витринах. Передаются поля nnt, nntParent (если есть) |
13 | Маркетинговый ассортимент | Наличие в маркетинговом асортименте. Передаются поля nnt, nntParent (если есть), cip |
15 | Товар дня | План продаж. Передаются поля nnt, cip, qnt, bonus, nntParent (если есть) |
16 | УСТМ | План закупок. Передаются поля nnt, cip, sum |
17 | Лидер продаж | Передаются поля nnt, qnt |
18 | Объемное соглашение | Передаются поля nnt, qnt |
19 | Рекомендованный ассортимент | Передается поле nnt |
Маркетинговые планы по сети⚓︎
Ежедневно, желательно не чаще одного раза в сутки, вы можете получать информацию о планах сети по маркетинговым мероприятиям.
ЗАПРОС
/v5/nets/{storeId}/marketing?type={typeId}
Описание⚓︎
Получить планы по маркетинговым мероприятиям для сети, в которую входит аптека со storeId по протоколу версии 5, с типом typeId
Параметры запроса⚓︎
Имя | Тип | Обяз. | Описание |
---|---|---|---|
storeId | GUID | Идентификатор аптеки по справочнику АСНА | |
type | int | Тип мероприятия, параметр не является обязательным, если его не указать то вернутся все типы. Таблица с типами мероприятий расположена в конце раздела. Можно передать несколько типов мероприятий, например type=13&type=16&type=9 | |
full | bool | Если true, то получать не только со статусом Активно, но и с другими статусами. По умолчанию false |
Заголовки запроса⚓︎
Имя | Описание |
---|---|
Authorization | Bearer token |
Accept | application/json или application/x-json-full |
Пример запроса⚓︎
Успешный ответ⚓︎
HTTP cтатус | Значение |
---|---|
200 | ОК. В теле ответа содержится JSON с планами. |
Пример ответа⚓︎
Объект ответа⚓︎
Имя | Тип | Описание |
---|---|---|
full | bool | Признак того что в пакете пришли все мероприятия, а не только изменения (пока true для всех пакетов) |
currentVersion | int | Версия данных (пока не используется) |
headers | Header[] | Массив заголовков маркетинговых мероприятий |
plans | Plan[] | Массив планов мероприятий |
Объект ответа Header⚓︎
Имя | Тип | Описание |
---|---|---|
id | int | Уникальный код мероприятия |
name | string | Наименование мероприятия |
begDate | datetime | Дата начала действия мероприятия |
endDate | datetime | Дата окончания действия мероприятия |
typeId | int | Код типа мероприятия |
type | string | Наименование типа мероприятия |
status | int | Признак удаления (1 - удалена) |
stateId | int | Код состояния мероприятия |
stateName | string | Состояние мероприятия |
Объект ответа Plan⚓︎
Имя | Тип | Описание |
---|---|---|
actionId | int | Уникальный код мероприятия |
periodYM | int | Месяц, на который рассчитан план (ггггмм). |
nnt | int | Код номенклатуры по справочнику АСНА |
qnt | float | План в упаковках |
nntParent | int | Код основного товара по справочнику АСНА |
sum | decimal | План в рублях |
status | int | Признак удаления (1 - удалена) |
Неуспешный ответ⚓︎
HTTP статус | Значение |
---|---|
400 | Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа. |
401 | Unauthorized. Токен авторизации неверный или истек срок его действия |
403 | Forbidden. У вас нет прав на выполнение данной операции |
429 | Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени |
500 | Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса |
Маркетинговые группы и бонусы⚓︎
Ежедневно, желательно не чаще одного раза в сутки, вы можете получать информацию о маркетинговых группах и бонусах.
ЗАПРОС
/v5/stores/{storeId}/marketing_groups_bonuses
Описание⚓︎
Получить информацию по маркетинговым группам и бонусам для аптеки storeId по протоколу версии 5
Параметры запроса⚓︎
Имя | Тип | Обяз. | Описание |
---|---|---|---|
storeId | GUID | Идентификатор аптеки по справочнику АСНА |
Заголовки запроса⚓︎
Имя | Описание |
---|---|
Authorization | Bearer token |
Accept | application/json или application/x-json-full |
Пример запроса⚓︎
Успешный ответ⚓︎
HTTP cтатус | Значение |
---|---|
200 | ОК. В теле ответа содержится JSON с планами. |
Пример ответа⚓︎
Имя | Тип | Описание |
---|---|---|
nnt | int | Уникальный код товара АСНА |
actionId | int | Уникальный код мероприятия |
groupId | int | Группа товара ( 1 - Группа 1, 2 - Группа 2, 3 - Группа 3 УСТМ) |
type | string | Тип мероприятия |
bonusTypePrem | int | Тип бонуса для АС с бюджетом Премиальный |
useAvgBonusUSTM | bool | Использовать средний бонус USTM |
bonusGrnt | decimal | Бонус 1. Гарантированный |
bonusMid | decimal | Бонус 2. Средний |
bonusMax | decimal | Бонус 3. Максимальный |
Неуспешный ответ⚓︎
HTTP статус | Значение |
---|---|
400 | Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа. |
401 | Unauthorized. Токен авторизации неверный или истек срок его действия |
403 | Forbidden. У вас нет прав на выполнение данной операции |
429 | Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени |
500 | Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса |