AXForum  
Zurück   AXForum > Прочие обсуждения > Курилка
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 20.12.2013, 18:46   #1  
g.Naukovych ist offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Registriert seit: 23.03.2011
Задачка на подумать из практики
На прошлой работе в компании Manzanagroup у меня была следующая задача.
Мы делали программу лояльности.
Карты, баллы и прочее.

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

Теперь мы хотим потратить баллы, но определенную группу можно списывать только на определенные товары.


пример.
купили сникерс и воду бонаква

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

Теперь представим промышленный вариант, где групп баллов несколько и в чеке много позиций.
Вопрос, как расчитать, сколько максимально можно списать баллов?
Баллы всегда в целых числах и нельзя списать 1,5 балла или 1,10


или еще пример.

У нас есть матрица

NxM

где N кол-во позиций чека, а M группы баллов

если эту группу баллов нельзя использовать для этой позиции чека в матрице стоит 0.

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


Цель заполнить матрицу так, чтобы сумма в каждой строке не должна превышать сумму группу,
сумма в каждом столбце не должна превышать сумма за позицию в чеке.
И цель сделать так, чтобы сумма всех элементов в матрице была максимальна.
__________________
Мой блог https://procrm.tv
Alt 20.12.2013, 21:21   #2  
Diman ist offline
Diman
Участник
Сотрудники Microsoft Dynamics
 
166 / 35 (2) +++
Registriert seit: 27.06.2003
Ort: Москва
Классические задачи дискретного программирования
1. упрощенная задача о назначении целей (кол-во переборов уменьшено информацией о том, какие баллы к какой группе товара принадлежат). Решение в лоб: отсортировать товары по группам применимости баллов, сначала тратим спец баллы, потом обычные. Если речь идет об одном чеке.
2. при условии, что числа целые, это задача о ранце. Только добавятся итерации по подбору значений для каждой ячейки. Минус решения перебором большое кол-во итераций, но можно попробовать прикрутить метод приближения непрерывными задачами множителями Лагранжа, чтобы сократить кол-во итераций.
А как решали вы?
__________________
Sapere aude
Alt 20.12.2013, 23:14   #3  
S.Kuskov ist offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3.448 / 1792 (66) ++++++++
Registriert seit: 28.04.2007
Ort: Калуга
По сути вопроса Diman уже высказался, а я немного позанудствую

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

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

Не лучше ли сложную математику применять не в момент реализации скидки - траты балов, а в момент их (балов) начисления?
Целью разделения балов на группы является стимулирование клиента к покупке в следующий раз того же товара (группы товаров)? Тогда можно оставить единые универсальные балы, но рассчитывать количество начисляемых балов с учетом прошлых покупок клиента. Этакая накопительная система получения балов в разрезе групп товаров.
Если понадобится, то можно ещё ограничить максимальный процент скидки для каждой категории товаров в отдельности. И даже тогда порядок расчета скидки останется более прозрачным.
Alt 20.12.2013, 23:42   #4  
Diman ist offline
Diman
Участник
Сотрудники Microsoft Dynamics
 
166 / 35 (2) +++
Registriert seit: 27.06.2003
Ort: Москва
Zitat:
Zitat von S.Kuskov Beitrag anzeigen
Не лучше ли сложную математику применять не в момент реализации скидки - траты балов, а в момент их (балов) начисления?
Целью разделения балов на группы является стимулирование клиента к покупке в следующий раз того же товара (группы товаров)? Тогда можно оставить единые универсальные балы, но рассчитывать количество начисляемых балов с учетом прошлых покупок клиента. Этакая накопительная система получения балов в разрезе групп товаров.
Если понадобится, то можно ещё ограничить максимальный процент скидки для каждой категории товаров в отдельности. И даже тогда порядок расчета скидки останется более прозрачным.
Видел описание похожей системы, которая пыталась вывести персональное кол-во баллов по конкретному покупателю, чтобы стимулировать на дальнейшие покупки на основе статистики по каждому покупателю. Довольно сложная софтина и модели, которые в ней применялись, внедрялась отдельно поверх ERP
__________________
Sapere aude
Alt 21.12.2013, 05:03   #5  
macklakov ist offline
macklakov
NavAx
Benutzerbild von macklakov
 
2.347 / 996 (38) +++++++
Registriert seit: 03.04.2002
Разогнать отдел маркетинга к чертям собачим! Смысл баллов в мотивации покупателя. Если понять тяжело, средний покупатель не поймет. А без понимания это превращается в хаотичную раздачу халяв.
Гораздо ценнее собирать историю покупок. Чтобы можно было делать персональные спец. предложения. Но в таком случае баллы являются своеборазной платой клиенту за то, что он пользуется карточкой, т.е. помогает отделу маркетинга собирать о себе информацию.
__________________
Isn't it nice when things just work?
This post has been rated by: mazzy (10).
Alt 21.12.2013, 09:43   #6  
g.Naukovych ist offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Registriert seit: 23.03.2011
Я решал иначе, чего то мне кажется, что рюкзак тут не подойдет. и алгоритм с сортировкой баллов не сработает.
Эти варианты я продумывал.
Еще есть другие варианты решения?
здесь может так случиться, что могут быть доп ограничения какие-нибудь и Вы не сможете представить это в виде матрицы.
Мне лично дали задачу решить матрицу, потом пояснили суть, и мне без матрицы было проще решать.

За каждую покупку товара у Вас есть некие доп. баллы.
И Вы стимулируете человека эти сделать следуюшую покупку, чтобы эти баллы потратить.
Логично, что необходимо сначала тратить те баллы, которые для него уникальны и только ему походят, но что делать если нельзя такие однозначно найти.
3 товара, 3 группы, при этом каждая группа срабатывает на 2 товара и все пары товаров различны.
Здесь не решить жадностью и полный перебор не подойдет из-за скорости.
__________________
Мой блог https://procrm.tv

Geändert von g.Naukovych (21.12.2013 um 09:48 Uhr)
Alt 21.12.2013, 11:20   #7  
S.Kuskov ist offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3.448 / 1792 (66) ++++++++
Registriert seit: 28.04.2007
Ort: Калуга
Zitat:
Zitat von g.Naukovych Beitrag anzeigen
что делать если нельзя такие однозначно найти.
Вам нужно формальное обоснование выбора приоритета одной группы балов над другой? Возьмите в качестве критерия например дату получения этих балов. Правда это не будет иметь никакого маркетингового значения, но вы же решаете чисто программистскую задачу
Alt 21.12.2013, 17:01   #8  
Diman ist offline
Diman
Участник
Сотрудники Microsoft Dynamics
 
166 / 35 (2) +++
Registriert seit: 27.06.2003
Ort: Москва
Zitat:
Zitat von g.Naukovych Beitrag anzeigen
Я решал иначе, чего то мне кажется, что рюкзак тут не подойдет. и алгоритм с сортировкой баллов не сработает.
Эти варианты я продумывал.
Еще есть другие варианты решения?
здесь может так случиться, что могут быть доп ограничения какие-нибудь и Вы не сможете представить это в виде матрицы.
Мне лично дали задачу решить матрицу, потом пояснили суть, и мне без матрицы было проще решать.
Почему не подойдет?
Матрица тут вообще не причем. Значения матрицы есть аргументы целевой функции и ограничений. Составляете систему уравнений и вперед.

Zitat:
Zitat von g.Naukovych Beitrag anzeigen
Логично, что необходимо сначала тратить те баллы, которые для него уникальны и только ему походят, но что делать если нельзя такие однозначно найти.
3 товара, 3 группы, при этом каждая группа срабатывает на 2 товара и все пары товаров различны.
Здесь не решить жадностью и полный перебор не подойдет из-за скорости.
Нет разницы, значит они одинаковые и можно выбирать любой.
Про жадность речи не было. Про экономию времени курить множители Лагранжа, как и предлагал.
Решение в лоб было на тех условиях, которые вы представили. Общее решение - задача о выборе целей.
Конечно, вышепредложенные задачи общие и к ним придется прикрутить ваши ограничения.
Можете попробовать на любом мат пакете либо Excel + Solver

Интересно все таки увидеть ваше решение. Хотя бы в общем виде. Потому что вопрос "Как решать?", ни разу не вопрос. Хочется от вас увидеть ответ на вопрос "Что решать?"
__________________
Sapere aude

Geändert von Diman (21.12.2013 um 18:01 Uhr)
Alt 21.12.2013, 19:56   #9  
Raven Melancholic ist offline
Raven Melancholic
Участник
Benutzerbild von Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2.164 / 1296 (48) ++++++++
Registriert seit: 21.03.2005
Ort: Москва-Петушки
Посмотрел клиентов Manzana Group. Из знакомых только Кораблик, Киа, Тойота и Лукойл.
Жаль что нет кого-то к кому можно было бы завтра зайти и и попросить рассчитать бонусы при помощи:
Zitat:
баланс баллов, который разбит на сегменты
Zitat:
задача о назначении целей
Zitat:
решить матрицу
Zitat:
Составляете систему уравнений и вперед
Кстати, когда я учился в институте (более 20 лет назад), в нашем ВУЗе при решении оптимизационных задач приняты были подходы не на основ матриц (созданных на целевой функции и ограничениях), а на основе преобразований Лапласа, решения задачи в комплексной области и преобразовании ответа назад в область реальных чисел.
Есть большое желание подойти к консультанту в торговом зале и попросить его решить задачу при помощи перехода в область комплексных переменных.
Alt 21.12.2013, 20:24   #10  
Serge Kotov ist offline
Serge Kotov
Участник
 
275 / 152 (6) ++++++
Registriert seit: 06.10.2004
Ort: Moscow
Действительно, как справедливо заметили уважаемые товарищи выше, схема "мотивации покупателя" выглядит сомнительно.

Но возвращаясь собственно к исходной задаче, как списать должно также зависеть от решения покупателя, например, использовать ли ему баллы за сникерс (это разрешается) при оплате бонаквы. Или вы хотите лишить его этой возможности?

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

Правило номер один (для маркетолога) может звучать так: "Точность прогнозирования реакции покупателя обратно пропорциональна степени сложности схемы расчета баллов "программы лояльности."
__________________
Феномен управления www.men-c.com
Alt 21.12.2013, 21:07   #11  
Diman ist offline
Diman
Участник
Сотрудники Microsoft Dynamics
 
166 / 35 (2) +++
Registriert seit: 27.06.2003
Ort: Москва
Zitat:
Zitat von Raven Melancholic Beitrag anzeigen
на основе преобразований Лапласа, решения задачи в комплексной области и преобразовании ответа назад в область реальных чисел.
Имеете ввиду дискретное преобразование Z/D? Так в чем же дело, предлагайте функцию и может быть такое решение устроит ТС.

Zitat:
Zitat von Raven Melancholic Beitrag anzeigen
Есть большое желание подойти к консультанту в торговом зале и попросить его решить задачу при помощи перехода в область комплексных переменных.
Попробуйте, расскажете
__________________
Sapere aude
Alt 21.12.2013, 23:40   #12  
g.Naukovych ist offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Registriert seit: 23.03.2011
Я решил эту задачу алгоритмом поиска максимального потока.

Общее решение таково.
У нас есть 1 вершина - неограниченный источник баллов.
есть вершины - группы баллов.
от первой вершины до каждой вершины группы баллов протягиваем ребро (трубу).
пропускная способность каждой трубы равна сумме доступных баллов для группы.

Далее у нас есть вершины - позиции.
Если эту групу баллов можно потратить на эту позицию, то соединяем вершины ребром (трубой)
Пропускная способность ребра устанавливается как бесконечность (очень большое число)
далее создаем еще одну вершину (сток).
соединяем вершины позиций с вершиной сток. пропускная способность каждого ребра (трубы) равна стоимости позиции.
теперь у нас система труб. Пускаем воду в эту систему и понимаем сколько по какой трубе течет.
Отсюда можно понять, сколько какой группы баллов будет тратиться.
__________________
Мой блог https://procrm.tv
Alt 22.12.2013, 00:26   #13  
S.Kuskov ist offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3.448 / 1792 (66) ++++++++
Registriert seit: 28.04.2007
Ort: Калуга
По-моему, при такой схеме первыми будут расходоваться группы с большим количеством балов, и не факт что это будут более уникальные группы. Разве нет?
Alt 22.12.2013, 13:35   #14  
Diman ist offline
Diman
Участник
Сотрудники Microsoft Dynamics
 
166 / 35 (2) +++
Registriert seit: 27.06.2003
Ort: Москва
Zitat:
Zitat von g.Naukovych Beitrag anzeigen
Я решил эту задачу алгоритмом поиска максимального потока.
.
Тоже вариант.
__________________
Sapere aude
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Задачка Link Курилка 4 22.03.2012 14:47
Задачка по математике klimova_m Курилка 2 29.04.2009 09:16
Дурацкая задачка Роман Кошелев Курилка 3 29.02.2008 15:02
Сколько я стою? %)) Ижа Курилка 194 17.06.2005 09:53

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 09:07 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.