Диссертация (Оценка экономической эффективности аналитических информационных систем), страница 27
Описание файла
Файл "Диссертация" внутри архива находится в папке "Оценка экономической эффективности аналитических информационных систем". Документ из архива "Оценка экономической эффективности аналитических информационных систем", который расположен в категории "". Всё это находится в предмете "экономика" из Аспирантура и докторантура, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата экономических наук.
Онлайн просмотр документа "Диссертация"
Текст 27 страницы из документа "Диссертация"
On-boarding | Принятие решения о необходимости проведения кампании | 0,083 | 0,14 | 0,32 | 0,0037184 |
Выбор параметров кампании и расчет экономики проектов | 0,22 | 0,2 | 0,003652 | ||
Построение сегмента для маркетинговой кампании | 0,14 | 0,05 | 0,000581 | ||
Построение контрольных групп | 0,04 | 0,05 | 0,000166 | ||
Контроль над ходом кампании | 0,08 | 0,15 | 0,000996 | ||
Внесение коррекций в предложения и сегменты | 0,07 | 0,2 | 0,001162 | ||
Решение проблем | 0,04 | 0,6 | 0,001992 | ||
Продление предложений | 0,07 | 0,15 | 0,0008715 | ||
Оценка результатов кампании | 0,1 | 0,4 | 0,00332 | ||
Пилотные проекты | Принятие решения о необходимости проведения кампании | 0,011 | 0,3 | 0,32 | 0,001056 |
Выбор параметров кампании и расчет экономики проектов | 0,18 | 0,2 | 0,000396 | ||
Построение сегмента для маркетинговой кампании | 0,11 | 0,05 | 0,0000605 | ||
Построение контрольных групп | 0,04 | 0,05 | 0,000022 | ||
Контроль над ходом кампании | 0,1 | 0,25 | 0,000275 | ||
Внесение коррекций в предложения и сегменты | 0,07 | 0,2 | 0,000154 | ||
Решение проблем | 0,04 | 0,6 | 0,000264 | ||
Продление предложений | 0,03 | 0,15 | 0,0000495 | ||
Оценка результатов кампании | 0,03 | 0,4 | 0,000132 | ||
Итого (R = ∑ D1×D2×S) | 0,1979 |
Приложение 4. Листинг программного кода для вычисления справедливого дележа методом случайного приоритета
Программный модуль для расчёта дележа методом случайного приоритета реализован в виде макро-процедуры в ПО Microsoft Excel 2010. Для использования макроса необходимо создать страницу следующей структуры:
A | B | C | D | … | |
1 | Параметры | <Количество агентов> | <Сумма общего результата> | ||
2 | Вклады | <Вклад агента 1> | <Вклад агента 2> | <Вклад агента 3> | <Вклад агента …> |
3 | Пропорциональный дележ |
4 | Дележ методом случайного приоритета |
Желтым цветом помечены области ввода исходных данных, голубым
цветом – область вывода результата (результат представляет собой 2 вектора дележа: пропорциональным методом и методом случайного приоритета). Остальные ячейки листа Excel очищаются, а затем используются для хранения промежуточных значений при вычислениях.
Исходный код макро-процедуры представлен ниже.
Sub СформирватьСлучайныйПриоритет()
Const MAX_AGENTS_COUNT = 8 ' Максимальное количество агентов (зависит от версии MS Excel)
Const DESING_RESULT_OFSET = 5 ' Определяет расположение временных данных для расчёта
' ---------------------------------------
' Инициализация основных переменнных
' ---------------------------------------
AgentsCount = WorksheetFunction.Min(Cells(1, 2), MAX_AGENTS_COUNT)
Dim CurrentRow(MAX_AGENTS_COUNT)
Range("B3:BB" + Trim(Str(WorksheetFunction.Fact(MAX_AGENTS_COUNT) + DESING_RESULT_OFSET))).ClearContents
' -------------------------------------------------------
' Перебор всех возможных очередностей появления агентов
' -------------------------------------------------------
RowsCount = WorksheetFunction.Fact(AgentsCount)
For Row = 1 To RowsCount
' -------------------------------------------
' Вычисление текущей перестановки
' -------------------------------------------
If Row = 1 Then
For i = 1 To AgentsCount CurrentRow(i) = i
Next Else
j = AgentsCount - 1 f = 0
Do While (j >= 1) And (f = 0)
If CurrentRow(j) > CurrentRow(j + 1) Then j = j - 1 Else f = j
Loop
If j > 0 Then
Do
CurrentRow(j) = CurrentRow(j) + 1 ok = True
For i = 1 To j - 1
If CurrentRow(j) = CurrentRow(i) Then ok = False Next
Loop Until ok = True
For i = j + 1 To AgentsCount CurrentRow(i) = 0
Do
CurrentRow(i) = CurrentRow(i) + 1 ok = True
For k = 1 To i - 1
If CurrentRow(k) = CurrentRow(i) Then ok = False Next
Loop Until ok = True Next
Else
MsgBox ("Неизвестная ошибка 0x00001") ' Авария. Число перестановок не совпало с факториалом
End
End If End If
' -----------------------------------------------------------------------
-
Заполнение расчетной строки во временной матрице,
-
соответствующей текущей перестановке (очередности) агентов
' -----------------------------------------------------------------------
For i = 1 To AgentsCount
Cells(Row + DESING_RESULT_OFSET, i + 1).FormulaR1C1 = "=R[-" + Trim(Str((Row + DESING_RESULT_OFSET - 2))) + "]C[" + Trim(Str(CurrentRow(i) - i)) + "]"
b1 = "R[-" + Trim(Str((Row + DESING_RESULT_OFSET - 1))) + "]C[" + Trim(Str(0 - i -
AgentsCount + 1)) + "]"
r1c1 = "R[0]C[" + Trim(Str(0 - AgentsCount - 1)) + "]"
If i > 1 Then
summ1 = "SUM(R[0]C[" + Trim(Str(1 - i)) + "]:R[0]C[-1])"
Else
summ1 = "0"
End If
Cells(Row + DESING_RESULT_OFSET, i + AgentsCount + 2).FormulaR1C1 = "=MIN(" + b1 +
"-" + summ1 + ", " + r1c1 + ")"
For j = 1 To AgentsCount
If i = CurrentRow(j) Then
Cells(Row + DESING_RESULT_OFSET, i + 2 * AgentsCount + 3).FormulaR1C1 = "=R[0]C["
+ Trim(Str(-AgentsCount - i + j - 1)) + "]"
End If Next
Next Next
' -------------------------------------------------------------------------
-
Вычисление итоговых векторов случайного приоритета и результата
-
пропорционального метода
' -------------------------------------------------------------------------
For i = 1 To AgentsCount
Cells(3, i + 1).FormulaR1C1 = "=R[-2]C[" + Trim(Str(2 - i)) + "]*R[-1]C[]/SUM(R[-
1]C[" + Trim(Str(1 - i)) + "]:R[-1]C[" + Trim(Str(AgentsCount - i)) + "])"
Cells(4, i + 1).FormulaR1C1 = "=AVERAGE(R[" + Trim(Str(DESING_RESULT_OFSET - 3)) +
"]C[" + Trim(Str(AgentsCount * 2 + 2)) + "]:R[" + Trim(Str(RowsCount - 1 + DESING_RESULT_OFSET - 3)) + "]C[" + Trim(Str(AgentsCount * 2 + 2)) + "])"
Next
End Sub