Back to Near You

How Near You Feed Works

Transparent overview of candidate selection and FYP scoring. Values below are live from feed config.

The Two Feeds

Near You (Chronological)

No ranking. Posts are filtered by your city settings and shown newest first.

Near You FYP

Same candidate pool, but scored using multiplicative factors. Final score determines rank.

FYP Scoring Factors

Base Engagement boost user override available

Uses likes/reposts/replies/quotes with configurable weights and curve shaping.

Formula: weighted = likes*likeW + reposts*repostW + replies*replyW + quotes*quoteW; base = max(coldStartMin, (1 + scale(weighted))^engagementExponent)

Location Weight boost/decay admin only

Combines local-city boost and distance decay; controls nearby city inclusion quality.

Formula: location = cityBoost * (1 / (1 + (distance/decayK)^decayExponent))

Freshness decay user override available

Older posts lose score; users can tune halflife/exponent behavior in settings.

Formula: freshness = 1 / (1 + (ageHours/effectiveHalflife)^freshnessExponent)

Media Boost optional boost admin only

Applies media multiplier where enabled.

Formula: mediaFactor = hasMedia ? mediaMultiplier : 1.0

Alt Text Penalty penalty user override available

Penalizes media posts lacking alt text based on configured strictness.

Formula: altTextFactor = missingAltText ? altTextPenalty : 1.0

Self Post Weight weight admin only

Adjusts how your own posts are weighted in FYP.

Formula: selfFactor = (author == viewer) ? selfWeight : 1.0

Seen/Served Demotion demotion admin only

Recently served posts are rotated downward to keep the feed fresh.

Formula: servedFactor = servedBasePenalty^(confidence * impressionScale * recoveryCurve(t))

Liked/Reposted Demotion demotion admin only

Posts you have already liked or reposted are deprioritized.

Formula: interactionFactor = (liked ? likedPenalty : 1.0) * (reposted ? repostPenalty : 1.0)

Follow Boost boost user override available

Boosts mutual/following relationships with separate multipliers.

Formula: followFactor = isMutual ? mutualBoost : (isFollowing ? followingBoost : 1.0)

Affinity Boost boost user override available

Small boost for authors you historically engage with.

Formula: affinityFactor = 1 + maxExtra * log(1 + interactions) / log(1 + affinityScale)

Follower Normalization optional boost admin only

Normalizes performance by audience size when enabled.

Formula: followerNormFactor = f(postEngagementRate, authorFollowerCount)

Engagement Velocity optional boost admin only

Favors posts accelerating in engagement, with caps.

Formula: velocityFactor = clamp(1.0, velocityCap, likesPerHour / velocityBaseline)

Hashtag Post Weight weight admin only

Adjusts confidence-weight for hashtag-matched external posts.

Formula: hashtagFactor = hashtagMatched ? hashtagPostWeight : 1.0

Interest System

Interest boost demotion user override available

Interests are learned from feed likes over a rolling window and combined with chosen interests.

Formula: interestFactor = boostFactor * demotionFactor (both can apply)

Interest Filter filter user override available

User-hidden interests are filtered out from ranking candidates.

Formula: if post matches hiddenInterest => exclude post

List Boost boost admin only

Applies user list membership boosts where configured.

Formula: listFactor = onUserList ? listBoostMultiplier : 1.0

Feed Engagement Boost boost admin only

Boosts posts with engagement coming specifically through Near You feeds.

Formula: feedEngagementFactor = 1 + weightedShare(feedLikes, reposts, replies, quotes)

Regional Penalty mixing penalty admin only

Supports regional mixing and balancing for diverse locality representation.

Formula: every N posts, insert 1 regional candidate (N = regionalPostInterval)

Post-Processing

Diversity Spreader admin only

Reorders to avoid same-author clustering while preserving score order quality.

Formula: post-process order: enforce min gap between same-author posts