Commit 23a2e938 authored by Kristina Markova's avatar Kristina Markova

CRM metodologist manual: about marketing

parent 44637add
...@@ -3,6 +3,7 @@ crm/methodologist-manual/Makefile -text ...@@ -3,6 +3,7 @@ crm/methodologist-manual/Makefile -text
crm/methodologist-manual/conf/html/settings.xsl -text crm/methodologist-manual/conf/html/settings.xsl -text
crm/methodologist-manual/conf/pandoc/book.docbook -text crm/methodologist-manual/conf/pandoc/book.docbook -text
crm/methodologist-manual/conf/vcs/insert-revision-and-build-date.xsl -text crm/methodologist-manual/conf/vcs/insert-revision-and-build-date.xsl -text
crm/methodologist-manual/resources/img/canban.png -text
crm/methodologist-manual/resources/img/configuration-2016-12-08_05-17-41.xml -text crm/methodologist-manual/resources/img/configuration-2016-12-08_05-17-41.xml -text
crm/methodologist-manual/resources/img/configuration-2016-12-12_10-45-49.xml -text crm/methodologist-manual/resources/img/configuration-2016-12-12_10-45-49.xml -text
crm/methodologist-manual/resources/img/dfd.png -text crm/methodologist-manual/resources/img/dfd.png -text
...@@ -17,7 +18,12 @@ crm/methodologist-manual/src/crm_consist/dictionaries.md -text ...@@ -17,7 +18,12 @@ crm/methodologist-manual/src/crm_consist/dictionaries.md -text
crm/methodologist-manual/src/crm_consist/forms.md -text crm/methodologist-manual/src/crm_consist/forms.md -text
crm/methodologist-manual/src/crm_consist/index.md -text crm/methodologist-manual/src/crm_consist/index.md -text
crm/methodologist-manual/src/crm_consist/marketing.md -text crm/methodologist-manual/src/crm_consist/marketing.md -text
crm/methodologist-manual/src/crm_consist/marketing_cost_comission.md -text
crm/methodologist-manual/src/crm_consist/marketing_funnel.md -text
crm/methodologist-manual/src/crm_consist/marketing_pipeline.md -text
crm/methodologist-manual/src/crm_consist/marketing_sidePannel.md -text
crm/methodologist-manual/src/crm_consist/registries.md -text crm/methodologist-manual/src/crm_consist/registries.md -text
crm/methodologist-manual/src/crm_consist/user_components.md -text
crm/methodologist-manual/src/crm_install.md -text crm/methodologist-manual/src/crm_install.md -text
crm/methodologist-manual/src/index.md -text crm/methodologist-manual/src/index.md -text
crm/spec/Makefile -text crm/spec/Makefile -text
......
...@@ -13,9 +13,11 @@ ...@@ -13,9 +13,11 @@
- [справочники](#dictionaries) - [справочники](#dictionaries)
- [пользовательские компоненты](#user_components)
<#include "crm_consist/forms.md"> <#include "crm_consist/forms.md">
<#include "crm_consist/registries.md"> <#include "crm_consist/registries.md">
<#include "crm_consist/dictionaries.md"> <#include "crm_consist/dictionaries.md">
<#include "crm_consist/user_components.md">
### Справочники {#dictionaries} ### Справочники {#dictionaries}
* [Статусы лида](#cdictionaryLeadStatus) * [Статусы лида](#dictionaryLeadStatus)
* [Статусы сделки](#dictionaryDealStatus) * [Статусы сделки](#dictionaryDealStatus)
* [Статусы аккаунта](#dictionaryAccountStatus) * [Статусы аккаунта](#dictionaryAccountStatus)
* [Статусы контакта](#dictionaryContactStatus) * [Статусы контакта](#dictionaryContactStatus)
......
### Формы {#forms} ### Формы {#forms}
* [Маркетинговое мероприятие](#formEvent) - [Маркетинговое мероприятие](#formEvent)
* [Лид](#formLead)
* [Сделка](#formDeal) - [Лид](#formLead)
* [Аккаунт](#formAccount)
* [Контакт](#formContact) - [Сделка](#formDeal)
* [Активность](#formActivity)
* [% комиссии](#formComission) - [Аккаунт](#formAccount)
* Напоминание
* Договор - [Контакт](#formContact)
* Акт
* Счет - [Активность](#formActivity)
* Коммерческое предложение
- [% комиссии](#formComission)
#### Маркетинговое мероприятие {#ormEvent}
- Напоминание
- Договор
- Акт
- Счет
- Коммерческое предложение
#### Маркетинговое мероприятие {#formEvent}
Код формы: crm_form_event. Код формы: crm_form_event.
......
...@@ -2,229 +2,26 @@ ...@@ -2,229 +2,26 @@
### Общее {#marketing.main} ### Общее {#marketing.main}
* Модуль содержит компоненты: Внешний модуль содержит компоненты:
* [Воронка лидогенерации](#marketing.pipe) * Групповые кнопки, переключающие вид отображения воронки:
* [Панели стоимости и комиссии](#marketing.cost_comission)
* [Боковая панель](#marketing.sidePannel)
* [Мероприятие](#marketing.event)
* [Пользователи](#marketing.users)
* [Фильтры](#marketing.filters)
#### Воронка лидогенерации {#marketing.pipe}
* Воронка лидогенерации представлена в виде кнопок статусов лида.
* Статусы лида определяются записями справочника
[crm_dict_leadStatus](#dictionaryLeadStatus).
* Кнопки статусов содержат два типа значений:
* количество лидов данного статуса;
* коэффициент конвертации.
* Значение отображаются в формате:
`%название_статуса%`
`%количество_лидов_статуса% (%коэффициент_конвертации%)`
* Коэффициент конвертации отсутствует для кнопки первого статуса.
* Коэффициент конвертации рассчитывается как:
`количество лидов последующего статуса / количество лидов предыдущего
статуса * 100%`
* По нажатию на кнопку статуса лида откроется реестр
[Лид](#registryLead), отфильтрованный согласно выбранным
[мероприятиям](#marketing.event), [пользователям](#marketing.users) и статусу.
* Изменение высоты кнопок, количества лидов и коэффициентов конвертации
должно происходить в режиме реального времени.
* Кнопки статусов лидов имеет форму трапеции.
* Ширина кнопок статична:
* максимальная - 450px по наибольшей горизонтальной стороне кнопки;
* минимальная - 150px по наименьшей горизонтальной стороне кнопки.
* Высота кнопок динамична и определяется количеством лидов
соответствующих статусов.
* Минимальная высота кнопок - 40px.
* Максимальная высота всей воронки - 500px.
* Если воронка содержит один статус, то его кнопка также отображается в
виде трапеции на максимальную высоту всей воронки.
* Если не выбран ни один [пользователь](#marketing.users) и ни одно
[мероприятие](#marketing.event) (при выключенном флаге "Показывать лиды,
не привязанные к мероприятиям"), воронка отображается пустой:
* значения количества лидов и коэффициента конвертации - 0;
* кнопки имеют минимальную высоту.
#### Панели стоимости и комиссии {#marketing.cost_comission}
1. Стоимость лидогенерации в панели - сумма значений компонента
[Потенциальный бюджет](#formLead) всех лидов текущей воронки.
1. Комиссия лидогенерации в панели рассчитывается как:
`стоимость лидогенерации * % комиссии`
где `% комиссии` - значение поля "% комиссии" первой созданной записи
реестра [% комиссии](#registryComission).
1. Значение поля "% комиссии" для каждого отдельного лида идет в расчет
при совпадении:
* указанного периода действия данного процента в записи реестра
[% комиссии](#registryComission);
* даты смены значения в поле "Статус" соответствующей записи реестра
[Лид](#registryLead).
1. Если в записи реестра [% комиссии](#registryComission) указано
несколько записей с одинаковыми датами начала, то в расчет идет
последний % комиссии, удовлетворяющий требованиям.
#### Боковая панель {#marketing.sidePannel}
* Изменение значений настроек боковой панели должно сопровождаться
анимацией загрузки, во время которой все кнопки статусов лидов будут
недоступны для нажатия.
##### Мероприятие {#marketing.event}
* Настройка "Мероприятие" представлена компонентом выбора записи реестра * [Воронка](#marketing.funnel)
и флагом "Показывать лиды, не привязанные к мероприятиям".
* Компонент содержит все записи реестра * [Канбан](#marketing.pipeline)
[Маркетинговое мероприятие](#registryEvent), отображаемые в списке.
* Список записей в компоненте ограничен правами авторизованного * [Панели стоимости и комиссии](#marketing.cost_comission)
пользователя:
* руководителю отображаются мероприятия, в которых ответственным * [Боковая панель](#marketing.sidePannel)
менеджером является он либо его подчиненные;
* пользователю отображаются только те мероприятия, в которых
ответственным менеджером является данный пользователь.
> **Примечание** * [Мероприятие](#marketing.event)
>
> Данное требование будет реализовано позднее.
* Компонент позволяет выбрать:
* одно мероприятие;
* несколько мероприятий;
* все мероприятия;
* ни одно мероприятие.
* Диалог выбора мероприятий выглядит аналогично диалогу выбора
[записи реестра](http://tdd.lan.arta.kz/docs/synergy/trunk/spec/html/sec.conf_processes.html#sec.conf_form_component_registry_link).
* Диалог выбора мероприятий дополнительно содержит флаг "Выбрать все".
* По нажатию на флаг "Выбрать все" выделятся все мероприятия на всех
страницах компонента.
* Флаг "Показывать лиды, не привязанные к мероприятиям" определяет
включение в воронку лидов, для которых компонент
[Мероприятие](#formLead) пуст.
* По умолчанию выбраны все мероприятия, флаг "Показывать лиды, не
привязанные к мероприятиям" включен.
![Диалог выбора мероприятий](resources/img/eventChooser.png)
##### Пользователи {#marketing.users}
* Настройка представлена компонентом выбора пользователей.
* Компонент содержит авторизованного пользователя, а также его подчиненных,
которые входят в группу "Маркетологи".
> **Примечание**
>
> Так как на данный момент отсутствует импорт/экспорт групп, компонент
> будет отображать только подчиненных руководителя. Ограничение
> подчиненных согласно группе "Маркетологи" будет реализовано позднее.
* Компонент позволяет выбрать:
* всех пользователей;
* нескольких пользователей;
* одного пользователя;
* ни одного пользователя.
* По умолчанию выбран авторизованный пользователь.
##### Фильтры {#marketing.filters}
* Доступно два параметра фильтрации:
* Период
* Статус лида
* При фильтрации лидов за период учитывается только факт смены значения
в поле "Статус" записи реестра [Лид](#registryLead). Если за
указанный период значение этого поля изменялось несколько раз, то в
воронку должно войти только последнее.
* Параметр "Период" представлен выпадающим списком и двумя компонентами
выбора даты, разделенными тире.
* Выпадающий список периода содержит пункты:
* "За все время" - воронка содержит все лиды с момента создания
записи реестра до текущего времени на сервере.
* "Прошедшая неделя" - учитываются только те лиды, у которых
изменился статус за последнюю неделю от текущего дня на сервере.
* "Прошедший месяц" - учитываются только те лиды, у которых
изменился статус за последний месяц от текущего дня на сервере.
* "Прошедший квартал" - учитываются только те лиды, у которых
изменился статус за последний квартал от текущего дня на сервере.
* "Прошедший год" - учитываются только те лиды, у которых изменился
статус за последний год от текущего дня на сервере.
* "Произвольный период" - учитываются только те лиды, у которых
изменился статус за указанный пользователем период.
* Компоненты выбора даты активны только при выбранном пункте
"Произвольный период".
* Компоненты выбора даты по умолчанию отображают период за последний
месяц от текущего дня на сервере.
* Параметр "Статус" представлен выпадающим списком с пунктами:
* "Все";
* значение crm_dict_leadStatus_name записи справочника
[crm_dict_leadStatus](#dictionaryLeadStatus), у которой
crm_dict_leadStatus_end=1;
* значения crm_dict_leadStatus_name всех записей справочника
[crm_dict_leadStatus](#dictionaryLeadStatus), у которой
crm_dict_leadStatus_quality=0.
* Статус "Все" включает в себя все записи справочника
[crm_dict_leadStatus](#dictionaryLeadStatus) со значением
crm_dict_leadStatus_quality=1.
* По умолчанию выбраны период "За все время" и статус "Все".
![Воронка лидогенерации](resources/img/funnel_1.png)
![Пустая воронка лидогенерации](resources/img/funnel_2.png) * [Пользователи](#marketing.users)
![Фильтрация по статусу "Некачественный лид"](resources/img/funnel_3.png) * [Фильтры](#marketing.filters)
<#include "crm_consist/marketing_funnel.md">
<#include "crm_consist/marketing_pipeline.md">
<#include "crm_consist/marketing_cost_comission.md">
<#include "crm_consist/marketing_sidePannel.md">
### Панели стоимости и комиссии {#marketing.cost_comission}
1. Стоимость лидогенерации в панели - сумма значений компонента
[Потенциальный бюджет](#formLead) всех лидов текущей воронки.
1. Комиссия лидогенерации в панели рассчитывается как:
`стоимость лидогенерации * % комиссии`
где `% комиссии` - значение поля "% комиссии" первой созданной записи
реестра [% комиссии](#registryComission).
1. Значение поля "% комиссии" для каждого отдельного лида идет в расчет
при совпадении:
* указанного периода действия данного процента в записи реестра
[% комиссии](#registryComission);
* даты смены значения в поле "Статус" соответствующей записи реестра
[Лид](#registryLead).
1. Если в записи реестра [% комиссии](#registryComission) указано
несколько записей с одинаковыми датами начала, то в расчет идет
последний % комиссии, удовлетворяющий требованиям.
### Воронка лидогенерации {#marketing.funnel}
По нажатию на кнопку "Воронка" вид основной области изменяется на воронку
лидогенерации. Воронка представлена в виде кнопок статусов лида, определяемых
записями справочника [`crm_dict_leadStatus`](#dictionaryLeadStatus).
![Воронка лидогенерации](resources/img/funnel_1.png)
Кнопки статусов имеют форму трапеции и содержат два типа значений:
* количество лидов данного статуса;
* коэффициент конвертации.
Ширина кнопок статична, высота - динамична и определяется количеством лидов
соответствующих статусов.
Значения в воронке отображаются в формате:
`%название_статуса%`
`%количество_лидов_статуса% (%коэффициент_конвертации%)`
> **Примечание 1:** коэффициент конвертации отсутствует для кнопки первого статуса.
> **Примечание 2:** коэффициент конвертации рассчитывается как процентное отношение
*количества лидов последующего статуса* к *количеству лидов предыдущего статуса*.
> **Примечание 3:** изменение высоты кнопок, количества лидов и коэффициентов
конвертации происходит в режиме реального времени.
По нажатию на кнопку статуса лида откроется реестр [Лид](#registryLead),
отфильтрованный согласно выбранным [мероприятиям](#marketing.event),
[пользователям](#marketing.users) и статусу.
Если воронка содержит один статус, то его кнопка также отображается в виде
трапеции на максимальную высоту всей воронки.
Если не выбран ни один [пользователь](#marketing.users) и ни одно [мероприятие](#marketing.event)
(при выключенном флаге "Показывать лиды, не привязанные к мероприятиям"),
воронка отображается пустой:
* значения количества лидов и коэффициента конвертации - 0;
* кнопки имеют минимальную высоту.
![Пустая воронка лидогенерации](resources/img/funnel_2.png)
### Канбан {#marketing.pipeline}
По нажатию на кнопку "Канбан" вид основной области изменяется на канбан
лидогенерации, который является развернутым представлением воронки
лидогенерации с детализацией сведений о лидах:
![Канбан лидогенерации](resources/img/canban.png)
Основная рабочая область содержит панели лидов, расположенные в виде таблицы, где:
* столбцы - статусы лида (значения `crm_dict_leadStatus_name` записи
справочника [`crm_dict_leadStatus`](#dictionaryLeadStatus) согласно текущей
[фильтрации](#marketing.filters);
* строки - лиды.
Панели статусов окрашены в цвета, указанные в поле `crm_dict_leadStatus_color`
записи справочника [`crm_dict_leadStatus`](#dictionaryLeadStatus).
Панели лидов отсортированы в столбце по убыванию значений компонента
[Потенциальный бюджет](#formLead) всех лидов текущего статуса.
Панель статуса содержит:
* Значение `crm_dict_leadStatus_name` записи справочника
[`crm_dict_leadStatus`](#dictionaryLeadStatus)
* Количество лидов данного статуса
* Сумма значений компонента [Потенциальный бюджет](#formLead) всех лидов
текущего статуса.
Панель лида содержит значение полей:
- [Наименование аккаунта](#registryAccount)
- [Тема сотрудничества](#formLead)
- [Потенциальный бюджет](#formLead)
- [Ответственный менеджер](#formLead) (отображается в панели лида
только для руководителя)
По нажатию на панель лида откроется соответствующая запись реестра [Лид](#registryLead).
Имеется возможность перемещения панелей лидов горизонтально между столбцами
при помощи drag-n-drop.
### Боковая панель {#marketing.sidePannel}
Боковая панель предназначена для фильтрации сведений о лидах, котодые
должны включаться в воронку/канбан лидогенерации.
Доступна настройка следующих параметров отображения:
- [мероприятие](#marketing.event)
- [пользователи](#marketing.users)
- [фильтры](#marketing.filters)
#### Мероприятие {#marketing.event}
Параметр "Мероприятие" позволяет выбрать записи реестра
["Маркетинговые мероприятия"](#registryEvent) для оценки количества лидов,
привлеченных определенными мероприятиями. Также существует возможность
отображения статистики по лидам, привлеченным вне проведенных мероприятий
(флаг "Показывать лиды, не привязанные к мероприятиям", по умолчанию включен).
Для выбора мероприятия пользователь нажимает на кнопку <...>. Открывается
диалог выбора мероприятий:
![Диалог выбора мероприятий](resources/img/eventChooser.png)
Список записей в параметре ограничен правами авторизованного пользователя:
* руководителю отображаются мероприятия, в которых ответственным менеджером
является он либо его подчиненные;
* пользователю отображаются только те мероприятия, в которых ответственным
менеджером является данный пользователь.
Компонент позволяет множественный выбор мероприятий. По умолчанию выбраны все
мероприятия.
#### Пользователи {#marketing.users}
Параметр позволяет выбрать ответственного менеджера, чьи лиды отображены в
основной области. По умолчанию отображены лиды авторизованного пользователя.
Параметр содержит авторизованного пользователя, а также его подчиненных,
которые входят в группу "Маркетологи". Доступен множественный выбор пользователей.
#### Фильтры {#marketing.filters}
Доступно два параметра фильтрации:
* Период
* Статус лида
При фильтрации лидов за период учитывается только факт смены значения в поле "Статус"
записи реестра [Лид](#registryLead). Если за указанный период значение этого поля
изменялось несколько раз, то в воронке учитывается только последнее изменение.
Параметр **"Период"** представлен выпадающим списком и двумя компонентами выбора даты,
разделенными тире.
Выпадающий список периода содержит пункты:
* *"За все время"* - воронка содержит все лиды с момента создания записи реестра
до текущего времени на сервере. Этот пункт выбран по умолчанию.
* *"Прошедшая неделя"* - учитываются только те лиды, у которых изменился статус
за последнюю неделю от текущего дня на сервере.
* *"Прошедший месяц"* - учитываются только те лиды, у которых изменился статус
за последний месяц от текущего дня на сервере.
* *"Прошедший квартал"* - учитываются только те лиды, у которых изменился статус
за последний квартал от текущего дня на сервере.
* *"Прошедший год"* - учитываются только те лиды, у которых изменился статус за
последний год от текущего дня на сервере.
* *"Произвольный период"* - учитываются только те лиды, у которых изменился статус
за указанный пользователем период. При выборе этого пункта активны компоненты выбора
даты.
Параметр **"Статус"** представлен выпадающим списком с пунктами:
- *"Все"* (учитываются все записи справочника
[`crm_dict_leadStatus`](#dictionaryLeadStatus) со значением `crm_dict_leadStatus_quality`=1),
пункт выбран по умолчанию;
- значение `crm_dict_leadStatus_name` записи справочника
[`crm_dict_leadStatus`](#dictionaryLeadStatus), у которой `crm_dict_leadStatus_end`=1;
- значения `crm_dict_leadStatus_name` всех записей справочника
[`crm_dict_leadStatus`](#dictionaryLeadStatus), у которой `crm_dict_leadStatus_quality`=0.
![Фильтрация по статусу "Некачественный лид"](resources/img/funnel_3.png)
### Пользовательские компоненты {#user_components}
#### Модифицированный компонент выбора записи реестра {#user_components.registryChooser}
Пользовательский компонент на основе компонента "Ссылка на реестр". Компонент
имеет возможность сопоставления (в качестве источника и приемника). Список
доступных действий:
- "Выбрать из реестра"
- "Создать"
- "Удалить"
![Модифицированный компонент выбора записи реестра]()
**Проигрыватель формы в режиме редактирования**
*Выбор существующей записи реестра:*
* Выбор записи осуществляется по нажатию на лейбл "Выбрать из реестра".
* Лейбл "Выбрать из реестра" доступен всегда.
* По нажатию на лейбл откроется диалоговое окно, которое содержит
таблицу со всеми записями данного реестра.
* Столбцы таблицы представляют собой отображаемые поля реестра.
* Возможность ручного ввода и подбор результатов среди имеющихся записей
реестра.
* Поиск производится по всем отображаемым полям реестра.
* Значения в выпадающем списке составлены из полей диалога (т.е.
отображаемых полей реестра), разделенных тире.
*Создание новой записи реестра из текущей формы:*
* Создание новой записи доступно по нажатию на лейбл "+ Создать".
* Лейбл "+ Создать" доступен всегда.
* По нажатию на лейбл "+ Создать" откроется диалоговое окно
проигрывателя формы в режиме редактирования.
*Удаление текущего выбранного значения компонента:*
* Удаление текущего значения компонента доступно по нажатию на лейбл
"х Удалить".
* Лейбл "х Удалить" доступен только в случае, когда в компоненте
выбрано какое-либо значение.
* По нажатию на лейбл "х Удалить" компонент принимает вид пустого
поля ввода.
**Проигрыватель формы в режиме чтения**
* Выбранная запись реестра отображается в виде подчеркнутого лейбла,
составленного из значащего содержимого этого реестра.
* По нажатию на лейбл выбранной записи откроется диалоговое окно
проигрывателя формы, который отображает эту запись из реестра в
режиме просмотра.
#### Кнопка создания новой записи реестра "Сделка" {#user_components.button}
Пользовательский компонент в виде кнопки. Названием кнопки является значение поля `crm_dict_leadStatus_buttonName` записи справочника [`crm_dict_leadStatus`](#dictionaryLeadStatus)
со значением параметра `crm_dict_leadStatus_end`=1.
Кнопка в проигрывателе формы активна в режиме чтения и редактирования.
![Кнопка создания новой записи реестра "Сделка"]()
По нажатию на кнопку:
* выпадающий список "Статус" принимает значение записи справочника
[`crm_dict_leadStatus`](#dictionaryLeadStatus) со значением параметра
`crm_dict_leadStatus_end`=1 и становится неактивным;
* документ пересохраняется с новым значением выпадающего списка "Статус";
* создается новая запись реестра [Сделка](#registryDeal), в которой
сопоставлены поля:
* `crm_form_deal_main1_lead` заполняется ссылкой на данную
запись [Лида](#registryLead);
* `crm_form_deal_main2_theme` заполняется значением из
`crm_form_lead_deals_theme`.
*Выпадающий список "Статус"*:
* При выборе пункта со значением параметра `crm_dict_leadStatus_end`=1
в справочнике [`crm_dict_leadStatus`](#dictionaryLeadStatus)
выполняются те же действия, что и по нажатию на кнопку.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment