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

В этой статье я расскажу о подходах к моделированию и прогнозированию поведения клиентов. В частности, я рассматриваю возможность моделирования поведения клиентов облачных вычислений в отношении использования ими различных облачных продуктов, таких как Microsoft Sentinel. Поведение измеряется с точки зрения данных, потребляемых клиентом во время использования. Единицей потребления, которую я использую в этой статье, является ГБ (гигабайты).

Потребление связано с периодом, в течение которого измеряется потребление, а расчетный цикл является полезной практической единицей времени для использования. Для рассматриваемой задачи расчетный цикл составляет месяц. Пусть 𝑥ₖ будет потреблением покупателя в месяце kᵗʰ. Обычно значения 𝑥ₖ имеют диапазон, например, от 0 до 2000 ГБ. Наш интерес состоит в том, чтобы понять поведение 𝑥ₖ над k = 1,2,3,…. Другими словами, если мы знаем прошлое поведение этих клиентов, можем ли мы предсказать будущее? Для поставщика облачных услуг основной интерес представляет совокупность поведения клиентов.

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

Цепи Маркова

Цепь Маркова (MC) — это последовательность случайных величин 𝑥₀, 𝑥₁, 𝑥₂, … с ослабленным понятием независимости. В нем говорится, что для любого 𝑛 ≥ 1 условное распределение 𝑥 при заданных 𝑥₀, 𝑥₁, 𝑥₂, … , 𝑥₋₁ такое же, как и у 𝑥 с учетом 𝑥₋₁. В качестве простого примера MC пусть 𝑥 будет количеством орлов в серии подбрасываний монеты до первого подбрасывания 𝑛. Если в первых 10 бросках выпало семь орлов (т. е. 𝑥₁₀ = 7), то либо 𝑥₁₁ = 7, либо 𝑥₁₁ = 8 с равной вероятностью. Неважно, каким образом были получены семь орлов в первых 10 бросках. Для дальнейшего обсуждения мы будем считать, что 𝑥, 𝑛 = 0, 1, 2, … является MC.

Пространство состояний или 𝑆 — это набор всех возможных значений 𝑥ₙs. Элементы 𝑆 называются состояниями системы. Если 𝑥 = 𝑖, мы говорим, что система находится в состоянии 𝑖 в момент времени 𝑛. В этой статье мы будем предполагать, что 𝑆 — конечное множество.

Вероятности перехода включают условные вероятности 𝑝ᵢⱼᵐ (𝑘) = 𝑝(𝑥ₖ₊ₘ = 𝑗|𝑥ₖ = 𝑖), которые называются 𝑚-ступенчатыми вероятностями перехода. Говорят, что MC имеет стационарные вероятности перехода при условии, что 𝑝ᵢⱼᵐ (𝑘) не зависит от 𝑘. Если не указано иное, мы будем предполагать, что обсуждаемые MC имеют стационарные вероятности перехода. Вероятности одноступенчатого перехода играют решающую роль в анализе систем, которые моделируются как MC. Для краткости вероятности одношагового перехода обозначаются 𝑝ᵢⱼ вместо 𝑝ᵢⱼ¹. Вероятности одношагового перехода могут быть представлены квадратной матрицей 𝑃, где 𝑝ᵢⱼ — ее элемент (𝑖, 𝑗)ᵗʰ. Порядок 𝑃 равен 𝑁, количеству состояний в системе. Далее следует простой пример MC.

Пример 1

Рассмотрим пример облачного клиента. В любой месяц 𝑘 клиент находится в одном из следующих четырех состояний:

  • Состояние 1 (малое использование): используется от 0 до 25 ГБ.
  • Состояние 2 (умеренное использование): использование превышает 25 ГБ, но не превышает 200 ГБ.
  • Состояние 3 (интенсивное использование): использование превышает 200 ГБ.
  • Состояние 0 (оставил продукт): прекратил использование продукта навсегда.

Обратите внимание, что элементы в каждой строке в сумме дают 1. Это общая характеристика любой одношаговой матрицы перехода (на самом деле она справедлива и для любой 𝑛-шаговой матрицы перехода, где 𝑛 ≥ 1). Далее, состояние 0 — это особое состояние — как только система входит в него, она застревает в нем навсегда. Такие состояния называютсяпоглощающими состояниями. Поскольку 𝑝₁₀› 0, есть вероятность, что система, начинающаяся с 1, может навсегда застрять в 0. По этой причине состояние 1 называетсяпереходным состоянием. Поскольку существует положительная вероятность перехода от 3 к 1, существует также положительная вероятность перехода от 3 к 0. Другими словами, 3 также является переходным состоянием. Поскольку можно перейти от 2 к 3, даже 2 является переходным состоянием.

Есть несколько важных вопросов, которые следует рассмотреть в отношении приведенного выше примера. Предположим, что есть доход, полученный от клиента, который соизмерим с использованием. Если клиент находится в состоянии 1, плата составляет 3 доллара в месяц (в час), для состояния 2 — 7 долларов в день, а в состоянии 3 — 10 долларов в месяц. Тогда возникает интересный вопрос: какой доход можно ожидать от клиента с приведенной выше одношаговой матрицей перехода?

Обратите внимание, что матрица одношагового перехода полностью определяет поведение клиента (конечно, при условии стационарности). Давайте упростим и посмотрим на доход этого клиента за первый год, предположив, что клиент начал с низкого уровня использования (𝑥₀ = 1). Предположим, что поведение клиента в первый год выглядит следующим образом: 𝑥₁= 2, 𝑥₂= 2, 𝑥₃= 2, 𝑥₄=3, 𝑥₅= 2, 𝑥₆= 3, 𝑥₇=1, 𝑥₈= 2, 𝑥₉= 3 , 𝑥₁₀= 2, 𝑥₁₁= 1. Это означает, что за первые 12 месяцев клиент был в состоянии 1 три раза, в состоянии 2 шесть раз и в состоянии 3 три раза. Таким образом, доход за первые 12 месяцев составляет 3𝑟₁ + 6𝑟₂ + 3𝑟₃, где 𝑟₁= 3, 𝑟₂= 7 и 𝑟₃= 10. Следовательно, для заданного или известного поведения в первые 12 месяцев доход составляет 81 доллар.

Как мы видим, легко вычислить доход, когда поведение известно. Однако чего мы не знаем, так это будущего поведения клиента, который впервые пробует облачный продукт. Все, что мы знаем, это то, что потребление в первый месяц невелико, т. е. 𝑥₀ = 1. Учитывая эту информацию, давайте вычислим ожидаемый доход за месяц 𝑘. Обратите внимание, что это 𝑟₁ с вероятностью 𝑝⁽⁾₁₁ , 𝑟₂ с вероятностью 𝑝⁽⁾₁₂ и 𝑟₃ с вероятностью 𝑝⁽ ⁾₁₃. Следовательно, ожидаемый доход за месяц 𝑘 равен 𝑅₁⁽⁾ = 𝑟₁𝑝⁽⁾₁₁ + 𝑟₂𝑝⁽⁾₁₂ + 𝑟₃𝑝⁽⁾₁₃. Обратите внимание, что 𝑅₁⁽⁾ — это не что иное, как первая запись матричного произведения 𝑃⁽r, где (𝑖, 𝑗) ᵗʰ запись 𝑃⁽⁾ и 𝑟 = (𝑟₁ , 𝑟₂ , 𝑟₃). Интересным и очень полезным свойством MC со стационарными переходными вероятностями является 𝑃⁽⁾=Pᵏ. То есть 𝑝⁽ᵢⱼ — это (𝑖, 𝑗)ᵗʰ элемент 𝑃, возведенный в степень 𝑘. Таким образом, общий ожидаемый доход за первые 12 месяцев определяется как:

Если мы хотим найти ожидаемый доход, учитывая, что клиент начал с умеренного использования, т. Е. 𝑥₀ = 2, ответом будет вторая запись вектора (∑𝑃) 𝑟.

Для MC любая последовательность возможных значений 𝑥₀, 𝑥₁, 𝑥₂, … называется случайным путем. Таким образом, поведение клиента есть не что иное, как случайный путь. В приведенном выше примере у нас было 3, 𝑥₁₀= 2 , 𝑥₁₁= 1. Если 𝑥₁₂ = 0, то 𝑥 = 0 для всех 𝑛 ≥ 12. В результате получается путь (12223231232100 …). Это подводит нас ко второму вопросу: каково ожидаемое количество месяцев, в течение которых клиент будет пользоваться продуктом? К счастью, есть хорошая математика, которая дает ответ на этот вопрос. Пусть 𝑄 будет подматрицей 𝑃, которая соответствует только переходным состояниям. По рассматриваемой проблеме:

вычислить обратную 𝐼 − 𝑄, где 𝐼 — единичная матрица порядка 3, а затем добавить столбцы полученной матрицы. В матричной записи вычислите (𝐼 − 𝑄)⁻¹e. Результат

Таким образом, ожидается, что клиент, который начал с низкого уровня использования, останется на 33,75 месяца. Ожидается, что клиент, начавший с высокой интенсивностью использования, останется на 45 месяцев.

Пример 2

Рассмотрим облачный продукт, предлагаемый двумя разными компаниями, например электронную таблицу. Новый клиент хочет получить пожизненное членство в одной из этих двух компаний. Но прежде чем принять решение, клиент пробует два продукта. Что такое пространство состояний для моделирования этой проблемы как MC? Определим четыре состояния: (i) временно с электронной таблицей A (состояние 1); (ii) временно с электронной таблицей B (состояние 2); (iii) постоянно с электронной таблицей A (состояние 3); и (iv) постоянно с электронной таблицей B (состояние 4). Предположим, что матрица одношагового перехода для этого:

Обратите внимание, что 1 и 2 являются переходными состояниями, но также существуют два поглощающих состояния 3 и 4. Как и прежде, здесь мы можем задать два вопроса:

  1. Как долго клиент поддерживает пробный период?
  2. Какова вероятность того, что клиент в конце концов решит стать постоянным клиентом Таблицы А?

Ответы в (𝐼 - 𝑄)⁻¹, где:

Таким образом, ожидается, что клиенту, который начнет с пробной версии таблицы А, потребуется 2,083 (= 1,250 + 0,833) месяца, прежде чем он станет пожизненным участником, а тому, кто начнет с таблицы Б, потребуется 1,944 месяца. Это отвечает на первый вопрос. Для второго вопроса мы вычисляем (𝐼 − 𝑄)⁻¹𝑞, где 𝑞 = (0,4, 0,3). Результатом будет (0,75, 0,67). Таким образом, вероятность того, что клиент, начавший с электронной таблицы А, станет пожизненным участником электронной таблицы А, равна 0,75; а вероятность того, что кто-то, кто начнет с электронной таблицы B, станет пожизненным участником электронной таблицы A, равна 0,67. Чтобы вычислить аналогичные вероятности слияния с электронной таблицей B, используйте 𝑞 = (0,1, 0,3).

Пример 3

Давайте теперь рассмотрим облачного клиента, который не покинет компанию. Это то же самое, что и в примере 1, с той разницей, что нет состояния 0. Другими словами, пространство состояний 𝑆 состоит из трех состояний: низкий уровень использования (1), средний уровень использования (2) и высокий уровень использования (3). . Предположим, что матрица одношагового перехода для этой задачи имеет вид:

Мы говорим, что состояние 𝑖 ведет к другому состоянию 𝑗, если мы можем найти последовательность состояний 𝑖₁, 𝑖₂, … , 𝑖 такую, что pᵢᵢ₁, pᵢ ₂, … , 𝑝ᵢₖ₋₁ᵢₖ и pᵢₖⱼ положительны для некоторых неотрицательных целое число 𝑘. Когда 𝑖 ведет к 𝑗, мы пишем 𝑖 ⇝ 𝑗. В примере 1 обратите внимание, что 1 ⇝ 2, 2 ⇝ 3, поскольку 𝑝₁₂ и 𝑝₂₃ положительны. Кроме того, 1 ⇝ 3. Чтобы увидеть это, возьмите 𝑘 = 1 и 𝑖₁ = 2. Хорошим инструментом для понимания того, какие состояния ведут к каким другим состояниям, является графическое представление матрицы одношагового перехода. 𝑃 примера 1 можно представить, как показано на рисунке 1.

МК называется неприводимым, если 𝑖 ⇝ 𝑗 для любого 𝑖, 𝑗 ∈ 𝑆. МК примера 3 является примером неприводимого МК. Поведение клиентов, представленное неприводимым МС, обладает интересным свойством. Со временем у них вырабатывается шаблон использования, и их поведение становится более предсказуемым. Такое состояние клиента называется стабильным состоянием. В условиях стационарного состояния мы можем вычислить вероятности того, что клиенты находятся в разных состояниях. Для клиента из примера 3 в установившихся условиях клиент находится в состоянии 1 с вероятностью 0,17, в состоянии 2 с вероятностью 0,44 и в состоянии 3 с вероятностью 0,39. Мы можем представить это в виде вектора как 𝜋 = (0,17, 0,44, 0,39). Это 𝜋 называется статическим распределением. Если 𝑃 — матрица одношагового перехода неприводимого апериодического МК с конечным пространством состояний, то все строки 𝑃 сходятся к стационарному распределению. Время, необходимое для стабилизации (время достижения установившегося состояния), зависит от 𝑃. Для 𝑃 из примера 2.3 𝑛 = 5. То есть поведение покупателя становится предсказуемым, начиная с пятого месяца.

Важным и полезным следствием является то, что мы можем прогнозировать ожидаемый доход от клиента в устойчивых условиях. Ожидаемый доход от клиента из примера 3 в стабильных условиях составляет 3 × 0,17 + 7 × 0,44 + 10 × 0,39 = 7,49, или 7,49 доллара в месяц.

Заключение

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

В заключение, как гласит известное высказывание Ричарда Фейнмана, вы ничего не поймете, если не сможете объяснить это своей бабушке. В духе углубления нашего понимания программирование на Python для решения задач, таких как моделирование цепей Маркова, может быть увлекательным и познавательным опытом. Это на удивление просто, требуется всего несколько строк кода. Если вам интересно, не стесняйтесь заглянуть в мою записную книжку по Python здесь.

Манаса Гудимелла зарегистрирована в LinkedIn.