Как провести честный розыгрыш с генератором случайных чисел

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

Как провести честный розыгрыш с генератором случайных чисел

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

В статье вы узнаете:

Два приза и 12 участников: от заявок до результата

Представим бесплатный розыгрыш двух одинаковых книг в небольшом читательском клубе. Участники знакомы организатору, каждый может получить только одну книгу. До сбора заявок объявлены правила: одна заявка на человека, приём до пятницы 18:00 по московскому времени. Повторные заявки того же человека объединяются, опоздавшие в этот розыгрыш не попадают.

К моменту закрытия формы пришло 16 записей. Три из них оказались повторными отправками уже учтённых участников, ещё одна поступила после срока. Остаётся 16 − 3 − 1 = 12 человек. Организатор сохраняет исходные 16 записей и рядом отмечает причины четырёх исключений. Иначе через неделю будет трудно объяснить, почему на форме одно число, а в розыгрыше другое.

До субботы 12:00 участники проверяют подготовленный список и сообщают об ошибках. Это время для исправления уже поступивших заявок, а не для приёма новых. В 12:30 организатор закрепляет окончательную версию и отправляет копию наблюдателю. Розыгрыш назначен на 13:00.

После очистки каждому человеку присваивается постоянный номер. В нашем учебном списке он выглядит так:

НомерУчастник
01Анна
02Борис
03Вера
04Глеб
05Дарья
06Илья
07Нина
08Олег
09Павел
10Роман
11Ульяна
12Яна

Заранее оговорён и смысл мест после выбора. Первые два человека получают книги, остальные образуют запасную очередь. При отказе победителя или отсутствии ответа в течение 48 часов с момента отправки сообщения приз предлагается следующему человеку из этой очереди. Способ связи и срок ответа одинаковы для всех; 48 часов здесь условие нашего примера, а не обязательная норма.

До вставки списка начинаем запись экрана. Затем в инструмент перемешивания списка вставляем 12 строк, например «01 Анна» и «02 Борис», по одной на участника. Список уже очищен, поэтому оставляем «Сохранить все строки». Показываем подготовленные строки и один раз нажимаем «Перемешать».

Допустим, получился такой порядок номеров: 07, 02, 11, 05, 09, 01, 12, 03, 08, 06, 10, 04. Это вымышленный результат для разбора, при вашем запуске порядок может быть другим.

Книги получают Нина под номером 07 и Борис под номером 02. Первая в запасе Ульяна, следующая Дарья, затем Павел и остальные по сохранённому порядку. Если Нина отказалась, книга переходит Ульяне. Борис сохраняет свой приз, весь список заново перемешивать не нужно. Если после обращения к Ульяне истёк её срок ответа, очередь доходит до Дарьи.

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

Правила, закреплённый список, один запуск и сохранённый результат образуют четыре шага прозрачного розыгрыша
Розыгрыш начинается с правил и закреплённого списка. Кнопка отвечает только за один шаг: случайный порядок уже допущенных участников.

Что зафиксировать до первой заявки

Фраза «победителя выберет рандом» оставляет организатору слишком много решений на потом. Может ли человек участвовать с двух аккаунтов? Получает ли он дополнительный шанс за каждый комментарий? Что произойдёт, если выигравший не ответит? Пока результат неизвестен, эти вопросы решить проще.

Для небольшого розыгрыша достаточно короткого описания, в котором есть:

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

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

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

Сохраните объявленные условия отдельным файлом или сообщением, доступным участникам. Изменения после старта отмечайте явно. Тихо добавить требование «обязательно иметь аватарку» после победы пустого профиля нельзя назвать применением прежних правил: это уже новое условие, о котором человек не знал.

Как удалить дубли и никого не потерять

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

Одинаковое имя тоже ничего не решает. В группе могут быть две Анны Ивановы, а один человек может подписаться «Саша» и «Александр». Поэтому подготовьте для каждой допустимой записи устойчивый идентификатор: номер участника, ссылку на профиль или номер заявки. По нему должна находиться ровно та запись, которую допустили к выбору.

Автоматическая очистка помогает с текстом, но не устанавливает личность. В режиме удаления одинаковых строк перемешиватель eCalc объединяет «Анна» и «анна», убирает пробелы по краям и пропускает пустые строки. При этом «01 Анна» и «02 Анна» останутся разными строками. Именно поэтому проверять людей нужно до присвоения номеров, а не надеяться, что переключатель найдёт любые повторы.

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

Сверяйте не только итоговое число. Потерять Анну и случайно добавить вторую запись Бориса можно без изменения количества строк. Проверьте соответствие номеров людям и дайте участникам возможность найти собственную запись до выбора. Для большой группы удобнее выдавать каждому его номер при подготовке списка, а затем показывать перечень этих номеров.

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

Какой инструмент подходит для имён, номеров, очереди и команд

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

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

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

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

Когда удобнее выбрать номера, а когда перемешать список

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

Когда список уже пронумерован, можно использовать генератор случайных чисел. Для тех же 12 участников и двух победителей с двумя запасными задайте «От» 1, «До» 12 и «Сколько выбрать чисел» 4. Раскройте поле «Исключить числа» и убедитесь, что оно пустое, если правила не требуют заранее исключить конкретные позиции: браузер мог сохранить значение с прошлого запуска. Внутри одной выдачи номера не повторяются. До запуска объявите: первые два числа обозначают победителей, третье первого запасного, четвёртое второго.

Допустим, выпали 7, 2, 11, 5. Их нужно читать в полученном порядке. Сортировка по возрастанию превратит результат в 2, 5, 7, 11 и назначит других победителей. Сохраните исходную последовательность, даже если отсортированный столбец выглядит аккуратнее.

Четыре номера дают только двух запасных. Если для вашего розыгрыша нужна очередь всех оставшихся участников, проще сразу перемешать весь список. Числовой генератор eCalc выдаёт до 20 разных номеров за один запуск; придумывать цепочку отдельных запусков ради длинного резерва незачем.

Не оставляйте пустые позиции: номера 1, 2, 4 и 7 внутри диапазона от 1 до 7 дают три числа без владельцев. До фиксации списка присвойте четырём участникам последовательные номера со ссылкой на старые или перемешайте сами четыре строки.

Если одному участнику разрешены несколько заявок

Теперь изменим условие. В творческой группе разрешены две работы от одного автора, и каждая принятая работа участвует отдельно. В списке пять заявок: Аня-1, Аня-2, Борис-1, Вера-1, Глеб-1. Для выбора одного приза у Ани два шанса из пяти, у остальных по одному. При равномерном выборе это 40% и 20% соответственно. Равные шансы заявок здесь специально дают разные шансы людям.

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

Пусть разыгрываются два одинаковых приза, но одному человеку разрешён только один. По объявленному заранее правилу перемешиваем все пять заявок и читаем результат сверху вниз, пропуская следующие работы уже выбранного автора. Допустим, порядок такой: Аня-2, Аня-1, Вера-1, Борис-1, Глеб-1. Первый приз получает Аня, её следующая работа пропускается, второй приз получает Вера. Борис и Глеб образуют запасную очередь.

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

Что показывает запись и как поступить при ошибке

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

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

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

В программах часто используется псевдослучайность: алгоритм строит последовательность из начального состояния. Числовая страница eCalc применяет обычный генератор браузера, перемешиватель использует Web Crypto с запасным обычным генератором при его отсутствии. Это не мешает организатору заменить список или повторить запуск. Различия источников объясняет статья о том, как работают рандомизаторы.

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

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

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

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

Храните вместе правила, окончательный список, полный результат и отметки о передаче приза. Тогда вопрос «почему книгу получила Ульяна?» решается по записи: Нина отказалась, а Ульяна стояла первой в запасе ещё на момент выбора.

Есть что добавить?

Напишите своё мнение, комментарий или предложение.