Покинул форум
Сообщений всего: 94
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Думаю на сайте сделать партнерку, сижу думаю как их считать.. До какого уровня? Как обычно высчитываются, у кого опыт есть? Там еще до второго третьего уровня не сложно, а если их будет от первого до последнего 30 уровней... Как быть? Составлять дерево или при совершении действия крайнего пользователя пересчитывать все до первого уровня? Поделитесь опытом.
Prizma
Отправлено: 29 Января, 2016 - 22:20:15
Посетитель
Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012 Откуда: Санкт-Петербург
Помог: 5 раз(а)
Рачей пишет:
Думаю на сайте сделать партнерку, сижу думаю как их считать.. До какого уровня? Как обычно высчитываются, у кого опыт есть? Там еще до второго третьего уровня не сложно, а если их будет от первого до последнего 30 уровней... Как быть? Составлять дерево или при совершении действия крайнего пользователя пересчитывать все до первого уровня? Поделитесь опытом.
Конкретно с партнеркой дело не имел, но с многоуровневыми зависимыми данными возился..
тут всё просто отмечаешь, кто чей реферал и при возникновении события за которым должно последовать вознаграждение до требуемого "колена" циклично начисляешь "бонусы" всё просто..
echosprintf('Пользователю %s получит вознаграждение в размере %.4F%% от пользователя %s',
$p,$k[$i]*100,$userId);
$i++;
}
Рачей
Отправлено: 29 Января, 2016 - 23:10:27
Гость
Покинул форум
Сообщений всего: 94
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Спасибо, я так и предполагал что надо при действии крайнего пробежаться по цепочке вверх до первого и всем накинуть.. Осталось придумать кто сколько имеет в зависимости от уровня.. и тут еще момент что чем глубже уровень, тем меньше процент наверное... Точнее сколько нижний будет отдавать на верх что бы это все на всех поделить в процентном соотношении..
В принципе ваша идея мне понятна, но мне кажется, поправьте если ошибаюсь, тут с коэфицентами надо поработать.. У вас они задаются железно.. А надо наверное их создавать под каждого юзера в зависимости от вложенности.. То есть есть уровень вложенности и на него надо поделить сумму отдачи процента пользователя выстроив в какой-то прогрессии.
Не, гоню? Или как? (Добавление)
Теперь бы еще придумать откуда брать бонусы на партнеров вверх.. Закладывать в цену рекламодателя? тут надо крепко будет подумать. Вообщем теория мне ясна... Еще пару часов назад я даже представления не имел как это сделать.. А сейчас уже даже знаю как я это реализую.
Спасибо
Prizma
Отправлено: 29 Января, 2016 - 23:42:04
Посетитель
Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012 Откуда: Санкт-Петербург
Помог: 5 раз(а)
Рачей пишет:
В принципе ваша идея мне понятна, но мне кажется, поправьте если ошибаюсь, тут с коэфицентами надо поработать.. У вас они задаются железно.. А надо наверное их создавать под каждого юзера в зависимости от вложенности.. То есть есть уровень вложенности и на него надо поделить сумму отдачи процента пользователя выстроив в какой-то прогрессии.
Не, гоню? Или как?
Вообще то массив коэффициентов для того и нужен чтобы в нем определить бонусы для всех уровней и количество этих уровней.
$i - определяет уровень вложенности,
$k[$i] - коэффициент для данного уровня,
count($k) - количество уровней
Рачей пишет:
Теперь бы еще придумать откуда брать бонусы на партнеров вверх.. Закладывать в цену рекламодателя? тут надо крепко будет подумать.
тут всё просто на самом деле, определить одну цифру: со сколькими % готов расстаться - допустим это Х
а далее делаешь так:
1) Х/2 отдаешь первому уровню
2) каждый последующий получает в 2 раза меньше т.е. Х/4, Х/8, X/16 и т.д.
3) больше 10 уровней делать думаю смысла нет (т.к. доля % будет слишком ничтожна мала), другой вопрос, что врятли когда нибудь их столько будет - поэтому вообще можно не ограничивать уровни, а разделять до последнего пока сумма допустим не будет меньше копейки. В итоге до 6-8 уровня максимум что еще и дойдет. (Добавление)
Если решишь реализовывать по этой схеме, тогда сумма издержек на бонусы будет стримится к Х, но никогда не будет больше... собственно поэтому этот Х и надо определить ;)
Рачей
Отправлено: 30 Января, 2016 - 11:09:21
Гость
Покинул форум
Сообщений всего: 94
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Да примерно так, спасибо. Жаль кнопку спасибо нажать не могу, говорит сообщений мало. Сколько же их надо набрать и смысл в этом наборе...
Мне не совсем понятно зачем тут (($p = getParent($userId)) > 0)
больше нуля? Оно может быть равно или меньше?
и тут
$k = [0.2,0.05, 0.0125 ...]; // коэффициент
если тут он руками задан руками...
Prizma
Отправлено: 30 Января, 2016 - 12:01:46
Посетитель
Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012 Откуда: Санкт-Петербург
Помог: 5 раз(а)
Рачей пишет:
Да примерно так, спасибо. Жаль кнопку спасибо нажать не могу, говорит сообщений мало. Сколько же их надо набрать и смысл в этом наборе...
Мне не совсем понятно зачем тут (($p = getParent($userId)) > 0)
больше нуля? Оно может быть равно или меньше?
и тут
$k = [0.2,0.05, 0.0125 ...]; // коэффициент
если тут он руками задан руками...
Я исходил из того, что функция getParent селектит из базы данных id пользователя который пригласил этого пользователя. Результат записываем в $p, однако если учесть, что пользователя возможно некто не пригласил, тогда функция getParent вернет 0, и цикл прервется т.к. дойдет до логического предела цепочки.
Ну в первом примере коэффициент задан руками для каждого уровня, однако вместо этого можно сделать, как я описал в предыдущем посте:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.