Предполагая, что вы не возражаете против дробных пользователей ... Если k выражено в виде десятичной дроби (таким образом, скорость роста 5% составляет k = 1,05), то формулаэто:
дней = log k (((1- k ) x - c ) / ((1- k ) n - c ))
Например, предположим, что ваша начальная база пользователей 5;вы постоянно растете на 3 пользователя в день, а вирусные на 5% в день;и ваша цель 35 пользователей.Тогда
дней = log 1,05 (((- 0,05) * 35 - 3) / ((-0,05) * 5 - 3)) = 7,78 .
Запустив процесс в Excel, вы можете видеть, что на самом деле в день 7 вы получаете 31,5 пользователей, а в день 8 36 пользователей.
Происхождение:
Обозначениеколичество пользователей после d дней как n_d .Тогда:
n 1 = kn + c
n 2 = kn 1 + c = k ( kn + c ) + c = k 2 n + ( k + 1) c
n 3 = kn 2 + c = k ( k 2 n + ( k + 1) c ) + c = k 3 n + ( k 2 + k + 1) c
...
n d = k d n + SUM i = 0, d -1 ( k i c )
Теперь сумма представляет собой геометрическую серию.Сумма этого геометрического ряда легко выводится (или находится в Википедии!) И составляет c (1 - k d ) / (1 - )k ).
Итак:
n d = k d n + c (1 - k d ) / (1 - k )
= k d n + c / (1 - k ) - ck d / (1 - k )
= k d ( n - c / (1 - k )) + c / (1 - k )
То есть
k d = ( n d - c / (1 - k )) / ( n - c / (1 - k ))
= ((1 - k ) n d - c ) / ((1 - k ) n - c )
Итак
d = log k (((1 - k ) n d - c ) / ((1 - k ) n - c ))