feat(home): AI 캐릭터 추천 점수 정책을 변경한다

This commit is contained in:
2026-07-10 03:20:11 +09:00
parent a11ef3c4d1
commit 9288b44d5e
3 changed files with 40 additions and 18 deletions

View File

@@ -9,7 +9,13 @@ class RecommendationScorePolicy {
}
fun calculateAiCharacterNewBoost(createdAt: LocalDateTime, now: LocalDateTime): Double {
return calculateNewBoost(createdAt, now)
val days = ChronoUnit.DAYS.between(createdAt.toLocalDate(), now.toLocalDate())
return when {
days <= RecommendationScoreSpec.NEW_BOOST_10_DAY_LIMIT -> RecommendationScoreSpec.AI_NEW_BOOST_10_DAYS
days <= RecommendationScoreSpec.NEW_BOOST_20_DAY_LIMIT -> RecommendationScoreSpec.AI_NEW_BOOST_20_DAYS
days <= RecommendationScoreSpec.NEW_BOOST_30_DAY_LIMIT -> RecommendationScoreSpec.AI_NEW_BOOST_30_DAYS
else -> RecommendationScoreSpec.DEFAULT_NEW_BOOST
}
}
fun calculateDebutCreatorScore(
@@ -28,11 +34,13 @@ class RecommendationScorePolicy {
fun calculateAiChatScore(
recentChatCount: Long,
recentActiveUserCount: Long,
followIncreaseCount: Long,
newBoost: Double
): Double {
return (
(RecommendationScoreSpec.AI_RECENT_CHAT_WEIGHT * recentChatCount) +
(RecommendationScoreSpec.AI_RECENT_ACTIVE_USER_WEIGHT * recentActiveUserCount)
(RecommendationScoreSpec.AI_CHAT_WEIGHT * recentChatCount) +
(RecommendationScoreSpec.AI_ACTIVE_USER_WEIGHT * recentActiveUserCount) +
(RecommendationScoreSpec.AI_FOLLOW_INCREASE_WEIGHT * followIncreaseCount)
) * newBoost
}

View File

@@ -9,8 +9,9 @@ object RecommendationScoreSpec {
const val DEBUT_CONTENT_ACTIVITY_WEIGHT = 0.3
const val DEBUT_COMMUNICATION_WEIGHT = 0.2
const val AI_RECENT_CHAT_WEIGHT = 0.45
const val AI_RECENT_ACTIVE_USER_WEIGHT = 0.35
const val AI_CHAT_WEIGHT = 0.45
const val AI_ACTIVE_USER_WEIGHT = 0.35
const val AI_FOLLOW_INCREASE_WEIGHT = 0.20
const val CHEER_DONATION_AMOUNT_WEIGHT = 0.6
const val CHEER_FAN_TALK_WEIGHT = 0.3
@@ -23,5 +24,8 @@ object RecommendationScoreSpec {
const val NEW_BOOST_10_DAYS = 1.5
const val NEW_BOOST_20_DAYS = 1.3
const val NEW_BOOST_30_DAYS = 1.2
const val AI_NEW_BOOST_10_DAYS = 1.15
const val AI_NEW_BOOST_20_DAYS = 1.10
const val AI_NEW_BOOST_30_DAYS = 1.05
const val DEFAULT_NEW_BOOST = 1.0
}