Оценка исторического времени чтения при импорте крупного форума

Я в процессе миграции устаревшего форума с примерно 1,3 миллиона сообщений и двадцатилетней историей на Discourse.

Я хотел бы избежать ситуации, когда у каждого пользователя с самого начала после успешной миграции отображается 0 минут прочитанного времени, учитывая, что у многих из них есть история в 5, 10, а у некоторых — более 15 лет.

Учитывая акцент Discourse на времени прочтения (что, на мой взгляд, отлично), было бы здорово иметь возможность провести приблизительный расчёт этого показателя для пользователей со значительной историей, чтобы они не чувствовали, будто их вклад обнулился после миграции. (Хотя геймификация может быть мощным источником вдохновения и мотивации, она также может демотивировать, когда статистика, которой пользователи дорожат, обнуляется.)

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

Например:

PostCount = SELECT posts_count FROM posts WHERE id = (ID текущего импортируемого пользователя)

ReadTimePerPost = 300 (секунд)

RetroactiveReadTime = PostCount * ReadTimePerPost

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

Если да, то где и как хранится время прочтения?

Кстати, оценка каждого сообщения в 300 секунд времени прочтения — это лишь моя приблизительная оценка. Честно говоря, это, вероятно, очень мало, если учесть всё, но всё же гораздо точнее, чем 0.

Я думаю, я бы сделал что-то вроде

Post.where(user_id: user.id).where(some other stuff?).each do |post|
  PostTiming.create(topic_id: post.topic_id, post_number: post.post_number, user_id: user.id, msecs: READ_TIME_MSECS
end

Если я правильно посчитал, 300 секунд — это 5 минут. Вы считаете, что на чтение и ответ на этот пост ушло 5 минут?

Я ещё не уделил времени тому, чтобы обдумать временные рамки. Я думал, что «время чтения» технически учитывает не только моменты, когда пост был результатом чтения. Многие люди много читают и проводят много времени, просматривая текст, что вообще не учитывается, если ориентироваться только на время, необходимое для чтения и публикации.

Конечно, я предпочитаю недооценивать, а не переоценивать.

Я сделал десятки импортов. Никто никогда не просил подделывать время чтения. Уверен, люди поймут, что статистика начинает учитываться с момента перехода на Discourse.

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

Продвижение по уровню TL — это основное применение статистики времени чтения, которое может иметь значение при импорте.