powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / предложите алгоритм
12 сообщений из 12, страница 1 из 1
предложите алгоритм
    #38679621
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, коллеги. Вот как бы вы решали подобную задачу:
есть пользователи системы, порядка 80 000. Эти пользователи делают некоторые действия. Нужно посчитать вероятность того что пользователь сделает следующее действие. Если проще:
есть 80 000 булевых массивов разной длинны, в каждом из массивов часть флагов =0, часть =1. Мне нужно понять с какой вероятностью следующий элемент массива будет =1. Простое среднее не подходит, так как пользователь мог уехать на дачу, мог "забить" на сервис, мог умереть и хз что еще. К примеру если пользователь сделал 10 действий подряд, а потом не делал 5 действий, я могу предположить что, скорее всего, он не сделает и 6-ое, с другой стороны если он не делал 10 действий, а потом сделал 2 подряд - наверняка сделает и третье.
Можно считать общий алгоритм, можно по каждому юзеру, можно комбинировать, возможно стоит расставить веса, прогнав алгоритм по истории, можно еще как угодно. Алгоритм очень важный в системе так как определяет маржинальность предприятия.
...
Рейтинг: 0 / 0
предложите алгоритм
    #38679637
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.Простое среднее не подходит, так как пользователь мог уехать на дачу, мог "забить" на сервис, мог умереть и хз что еще.
Отфильтруй таких кто не доделал, а дальше простое среднее подойдет.
...
Рейтинг: 0 / 0
предложите алгоритм
    #38679827
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется эту задачу можно решать анализируя лог действий. И булева матрица
будет не нужна.
...
Рейтинг: 0 / 0
предложите алгоритм
    #38680003
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis., погружаетесь в common conversion activities?
...
Рейтинг: 0 / 0
предложите алгоритм
    #38680012
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас модно использовать язык R для таких вещей
...
Рейтинг: 0 / 0
предложите алгоритм
    #38680278
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.,

это очень просто, тут и считать ничего не надо. Вероятность, что пользователь сделает следующее действие — 1/2.
Либо сделает, либо не сделает.
...
Рейтинг: 0 / 0
предложите алгоритм
    #38680428
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis, а можно для особо одарённых подробней объяснить, и пример привести. Мне пока не понятно что вам нужно, и в чём проблема
...
Рейтинг: 0 / 0
предложите алгоритм
    #38680765
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivDenis.,

это очень просто, тут и считать ничего не надо. Вероятность, что пользователь сделает следующее действие — 1/2.
Либо сделает, либо не сделает.

+1. Не поспоришь!

Denis, данных, которые ты предлагаешь, не достаточно для определения алгоритма...

Ну например... аналогия с твоим случаем... мы хотим предугадать стоимость доллара на завтра... У нас есть его стоимость за последних 5 лет. Сможем ли мы по ним определить завтрашний курс? НЕТ!!!
для этого надо знать соответственные биржевые индексы, стоимость нефти (которая в большой мере диктует курс доллара как я знаю), все последние события, аля "умер директор газпрома, а новый уже 2 недели не может вступить в должность"... И тому подобное.
И даже при этом, бывают случаи, когда самые лучшие эксперты ошибаются, так как наступает некий форсмажом (например, русский газопровод был повреждён стихией и без газа осталась половина Европы, ремонтные работы ведутся уже несколько дней. Соответственно рубль начинает обесцениваться).

Потому как уже правильно сказал MasterZiv при наличие тех данных, что ты даёшь, можно лишь сказать что вероятность выполнения действия 50/50... Единственное, можно оценить периодичность совершения данного действия человеком, или например, если действия последовательны, то процентное соотношение завершённых цепочек... Это может процентов на 10 скорректировать общую картину (от 40 до 60 думаю)... Большего думаю добиться невозможно. Факторов сотни (например, с женой поругался, ушёл в запой, действие не совершил), а учитывается лишь один-два.
...
Рейтинг: 0 / 0
предложите алгоритм
    #38680913
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В наиболее общей постановке эта наука называется "прогнозирование". Но мне кажется
автору достаточно анализировать дату последнего логона юзера в систему. И рубить
нафих всех кто старше заданного периода.
...
Рейтинг: 0 / 0
предложите алгоритм
    #38682252
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я посылаю пользователю (подписавшемуся на сервис) смску: "скачай приложение и получи 14 рублей на счет мобильного телефона"
Он скачивает, получает свои 14, я свои "20", все довольны.
Проблема в том, что смс стоит примерно пол рубля. Из тех кому я шлю в среднем треть ссылку открывает, половина из тех кто открыл скачивает. Итого я шлю грубо говоря 6 смсок на скачивание, то есть 3 рубля из маржи в 6 я трачу на смски. В идеальной ситуации я должен слать 1 смску, точно понимая, что пользователь скачает. Все пользователи на сервис подписаны, все знают, как он работает, могут отписаться от него. Также я понимаю, что есть куча иных более дешевых каналов связи с пользователем. Тем не менее хочу оптимизировать смс. Я понимаю, что факторов тьма - если пользователь скачал последнее смс, значит высока вероятность что скачате и следующее, несмотря на его историю, я знаю в какие часы пользователи охотнее скачивают приложения, я знаю какие цены за скачивания им нравятся, а какие нет, знаю в какой день недели какая активность. Вот теперь хочется этот все вместе связать, чрезмерно не усложняя но добившись хорошего результата.
Когда-то это выглядело примерно так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 foreach (var grouppedLink in links)
                {
                    double chance = 1;
                    if (grouppedLink.Values.Any())
                    {
                        if (!grouppedLink.Values.Any(isUsed => isUsed))
                        {
                            chance = 0.15 / grouppedLink.Values.Count();
                        }
                        else
                        {
                            chance = (double)grouppedLink.Values.Count(isUsed => isUsed) / grouppedLink.Values.Count();
                        }
                    }

                    const double SMS_COST = 0.375;
                    if ((SMS_COST * 2) * 1.1 <= (weGetPayed - wePay) * chance * 0.9)
                        yield return grouppedLink.UserId;
                }


сейчас этого не достаточно, ибо этот код является определяющим маржинальность по сути.
Я думаю, что это нужно делать комбинацией оптимизаций коэффициенты, в которых прогнать через историю. Например, я говорю, что если пользователь скачал последнее смс, значит вероятность увеличивается на +50%, если пользователь скачал все приложения ценой более 10 рублей и не скачал ни одного ценой менее 10 рублей, и выборка репрезентативна для него, и цена текущего предложения менее 10 рублей то делим общую вероятность на 2. Таким образом, создав много метрик, и обучив их на истории я получу хороший результат. Но возможно я занимаюсь велосипедостроением и это можно сделать проще и умнее. Я не знаю.
...
Рейтинг: 0 / 0
предложите алгоритм
    #38682261
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANADenis., погружаетесь в common conversion activities?
не слышал о таком, гляну на досуге.
...
Рейтинг: 0 / 0
предложите алгоритм
    #38683471
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю поступить цинично. Использовать идеи статьи "A plan for spam" для рассылки спама.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / предложите алгоритм
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]