Schätzung der historischen Lesezeit für einen großen Forum-Import

Ich bin dabei, ein altes Forum mit etwa 1,3 Millionen Beiträgen und zwei Jahrzehnten Geschichte nach Discourse zu migrieren.

Was ich vermeiden möchte, ist, dass nach der erfolgreichen Migration jeder Benutzer ab sofort eine Lesezeit von 0 anzeigt, obwohl viele von ihnen 5, 10 und einige sogar über 15 Jahre Geschichte vorweisen können.

Angesichts der Betonung der Lesezeit in Discourse (was meiner Meinung nach großartig ist) wäre es schön, wenn man für Benutzer mit signifikanter Geschichte eine bestmögliche Schätzung dieser Statistik durchführen könnte, damit sie nicht das Gefühl haben, dass ihre Beitragsbilanz nach der Migration auf null zurückgesetzt wurde. (Während Gamification eine enorme Inspirations- und Motivationsquelle sein kann, kann sie auch demotivierend wirken, wenn Statistiken, auf die Benutzer stolz sind, gelöscht werden.)

Mir ist bewusst, dass es keine perfekte Möglichkeit gibt, Daten anzuzeigen, die zuvor nie erfasst wurden. Gibt es jedoch ein Skript, das ich ausführen kann, oder vielleicht etwas, das zu einem Import-Skript hinzugefügt werden kann, um die historische Lesezeit eines Benutzers basierend auf seiner aktuellen Beitragszahl zu schätzen?

Etwas wie:

PostCount = SELECT posts_count FROM posts WHERE id = (aktuelle Benutzer-ID, die importiert wird)

ReadTimePerPost = 300 (Sekunden)

RetroactiveReadTime = PostCount * ReadTimePerPost

Wäre es theoretisch möglich, dies zu tun und diese Zahl dann in die Datenbank einzufügen, wobei jeder Benutzer damit verknüpft wird?

Falls ja, wo und wie wird die Lesezeit gespeichert?

Übrigens: Die Bewertung jedes Beitrags mit 300 Sekunden Lesezeit ist nur meine Schätzung. Ehrlich gesagt ist sie unter Berücksichtigung aller Umstände wahrscheinlich sehr niedrig, aber viel genauer als 0.

Ich würde so etwas wie Folgendes tun:

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

Wenn ich die Rechnung richtig anstelle, sind 300 Sekunden 5 Minuten. Glaubst du, es hat 5 Minuten gedauert, diesen Beitrag zu lesen und darauf zu antworten?

Ich habe mir noch keine Gedanken über den Zeitplan gemacht. Meine Überlegung war, dass die Lesezeit technisch gesehen nicht nur die Zeiträume berücksichtigt, in denen ein Beitrag durch das Lesen entstanden ist. Viele Leute lesen viel und verbringen viel Zeit mit dem Überfliegen, was allein basierend auf der Zeit, die zum Lesen und Posten benötigt wird, gar nicht erfasst würde.

Zugegeben, ich würde lieber unterschätzen als überschätzen.

Ich habe Dutzende von Importen durchgeführt. Niemand hat je darum gebeten, erfundene Lesezeiten zu erfinden. Ich wette, die Leute werden wissen, dass die Statistiken erst ab dem Zeitpunkt beginnen, an dem Sie zu Discourse gewechselt sind.

Ein weitaus sinnvollerer Einsatz Ihrer Zeit besteht wahrscheinlich darin, herauszufinden, welche automatische Schwelle Sie für die Vergabe von TL2 an importierte Benutzer festlegen sollten, und diejenigen Personen in Ihrer Community auszuwählen, denen Sie zutrauen, dass sie über ein gutes Urteilsvermögen hinsichtlich Titel und Kategorisierung verfügen, um diese zunächst als TL3 einzustufen.

Die Beförderung zu TL ist der primäre Anwendungsfall für Lesezeitstatistiken, der im Kontext eines Imports plausibel relevant sein könnte.