Вы когда-нибудь спрашивали себя, какова вероятность того, что вы достигнете определенной финансовой цели?

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

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

Тем не менее, я считаю, что даже в таких сложных обстоятельствах некоторая прикладная математика никогда не повредит. Ниже вы можете познакомиться с некоторыми концепциями теории случайных процессов, применимыми к простым бизнес-сценариям.

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

Превосходя ожидания

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

Например, представьте, что вы художник-любитель и продаете свои работы по 100 долларов за штуку. Для компактности обозначим эту цену буквой a. Итак, a = 100 долларов за произведение, что означает сто долларов за произведение. Отлично.

Предположим, что вы знаете, что в среднем вы продаете r = 10 работ в месяц. У вас также есть фиксированные расходы из-за цвета, кистей и так далее. Вы тратите ровно c = 50 $ в месяц на малярные материалы.

Сколько вы заработаете за год? Вы открываете надежное приложение-калькулятор и вводите цифру

a×r×t c×t = (100×10×12 - 50×12 )$= 11400$,

где время t установлено на 12 месяцев. Однако это только ваше ожидание. Вы не можете быть уверены, что продадите ровно r × t = 120 работ в этом году. Вместо этого количество проданных каждый месяц произведений искусства будет случайным образом колебаться вокруг среднего значения r.

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

Тогда как требовать большего, чем просто ожидаемая стоимость?

Если предположить, что курс продажи r не меняется с течением времени, получается, что количество N (t) произведений искусства, проданных в течение некоторого времени t распределяется согласно распределению Пуассона со средним значением, равным r × t. Неудивительно, что среднее значение r × t = 120 соответствует ожидаемому объему продаж, но теперь мы знаем больше. Знание точного распределения позволяет нам вычислять вероятности.

Точнее, мы хотели бы знать вероятность того, что в момент t чистая прибыль E (t) вырастет больше, чем цель g . Математическими словами эту вероятность можно компактно записать как Prob (E (t) ›g).

Теперь мы можем выполнить некоторые вычисления и получить

Это формула. Мы показали, что вероятность заработать больше цели g - это то же самое, что вычисление вероятности того, что количество проданных произведений искусства N (t) станет больше, чем (g + c × t) / a. Это легко получить как обратное значение кумулятивной функции распределения для распределения Пуассона. Как получить числа?

В Julia с использованием пакета Distributions:

using Distributions 
p = ccdf(Poisson(r*t),(g+c*t)/a)

В Python с использованием пакета scipy:

import scipy.stats as st 
p = 1 - st.poisson.cdf((g+c*t)/a,r*t)

Во-первых, давайте проверим здравомыслие. В примере с художником вероятность заработать больше, чем ожидалось 11400 $, оказывается 47,6%. Это имеет смысл, потому что шанс продать более или менее 120 произведений искусства довольно симметричен. (Примечание: если вы спрашиваете себя, почему это число не равно 50%, то это просто потому, что среднее значение и медиана в целом не одно и то же).

Чтобы лучше понять шансы на прибыль, можно построить график Prob (E (t) ›g) как функцию от значения цели g. Например, есть около 90% шансов превысить чистую прибыль в 10 тыс. Долларов, но только 0,9% - превысить 14 тыс. Долларов.

Более высокая цена или больше продаж?

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

Этот факт есть не что иное, как следствие закона больших чисел: чем больше случайных чисел вы сложите, тем точнее вы сможете охарактеризовать их сумму. На самом деле мне нравится думать об этом утверждении наоборот:

чем меньше числа, тем больше вероятность.

Это верно в обоих направлениях. Вы можете плохо выступить или сорвать джекпот. Это просто удача.

Продажа нескольких видов товаров

Давайте теперь рассмотрим более распространенный случай розничной продажи нескольких товаров, каждый по определенной цене. Опираясь, например, на художника, мы можем представить, что продаем три разных типа произведений искусства в зависимости от размера: малый, средний и большой холст по цене 50, 100 и 200 долларов соответственно.

Мы предполагаем снова продавать в среднем r = 10 произведений искусства в месяц и знать, в какой доле обычно продаются холсты. Например, 40% малых, 40% средних и 20% больших. Обратите внимание, что эти числа таковы, что ожидания не изменились по отношению к сценарию с одним продуктом. Но как насчет вероятности заработка? Будет ли это сейчас существенно отличаться?

В данном конкретном случае это не сильно изменится. Вероятность заработка можно снова безопасно оценить с помощью предыдущей формулы, просто установив a равным средневзвешенному значению цен на товары (a = 0,4 × 50 $ + 0,4 × 100 $ + 0,2 × 200 $).

Однако это работает надежно, пока каждый товар продается «достаточно часто», так что нет риска оказаться слишком близко к зоне неопределенности малых чисел. Формула особенно точна, если цены на товары также не слишком отличаются друг от друга, потому что среднее значение более репрезентативно.

Если это не так или некоторые предметы продаются редко, важно вывести конкретную формулу для этого сценария инвентаризации. Это можно сделать с помощью свойства прореживания процесса Пуассона: продажи большего количества продуктов по глобальной цене r и соответствующей доле f (i) математически эквивалентно продаже отдельно каждого товара i по ставке r (i) = r × f (i). Результирующая формула в любом случае будет концептуально аналогична показанной ранее, только при расчете чистой прибыли E (t) потребуется суммировать доходы по всем статьям.

Оценка заработка на Medium

Наконец, давайте рассмотрим самый интересный случай здесь, на Medium. Как рассчитать вероятность возврата вашего письма?

Основная сложность заключается в том, что мы не можем моделировать доходы от Medium Stories как элементы, цена которых нам известна заранее. Вместо этого мы могли бы описать их также вероятностным образом, введя возврат распределение.

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

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

Для простоты здесь я собираюсь описать возвраты сообщений с экспоненциальным распределением по двум причинам. Во-первых, это хорошо относится ко многим авторам Medium: большая часть постов дает скромную отдачу, некоторые немного лучше, но ничего стремительного роста. Во-вторых, экспоненциальное распределение просто, потому что у него есть только один параметр - средний доход на пост. (Опять же, назовем это а.)

В этих настройках общий доход Medium описывается составным процессом Пуассона со скоростью r × t и экспоненциально распределенными слагаемыми. Что это конкретно означает? Для начала посмотрим на среднее значение.

Для рассматриваемого составного процесса средний общий доход равен a × r × t со стандартным отклонением a × sqrt (2 × r × t). Стандартное отклонение дает представление о величине колебаний: прибыль упадет с вероятностью 68% в интервале на одно стандартное отклонение выше и ниже ожидаемого, как следствие центральной предельной теоремы. Однако для того, чтобы центральная предельная теорема работала нормально, эмпирическое правило состоит в том, чтобы учитывать как минимум более 20 общих продаж (в данном контексте - средние истории).

Например, если вы публикуете сообщение в неделю и зарабатываете в среднем 25 долларов за публикацию, вы ожидаете получить за год (1300 ± 255) долларов (при t = 52 недели).

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

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

  • Вы хорошо оцениваете свою скорость публикации r
  • Доходы от ваших публикаций не зависят друг от друга и экспоненциально распределены с известным средним значением a
  • Ничего из вышеперечисленного не изменяется за период t

Вы можете попробовать эту формулу. Если вместо этого вам не нравятся приближения, можно легко вычислить Prob (E (t) ›g) путем прямого моделирования. Это тоже всего одна строка кода.

В Юлии,

using Distributions 
S = 10^6  # Number of simulations you want
p = length(findall([sum(rand(Exponential(a),rand(Poisson(r*t)))) for i=1:S] .> g)) / S

или в Python

import numpy as np
S = 10**6  # Number of simulations you want
p = sum(map(lambda x : x > g, [sum(np.random.exponential(a,np.random.poisson(r*t))) for i in range(S)])) / S

(P.S. Джулия выглядит намного лучше и безумно быстрее. Я люблю Джулию!)

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

Но действительно ли нужна вся эта точность? Но если честно, наверное, нет.

Основная идея теории вероятностей, примененная к Medium, просто подтверждает повседневные доказательства: самый надежный способ обеспечить ваш успех на Medium - это увеличить количество публикаций и писать хорошие материалы. Больше a, больше r, и то и другое на более длительный срок t. Короче, больше искусства.

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