THE METHOD, IN PLAIN ENGLISH
Attention earned.
Measured fairly.
The Glimply Index compares brands’ organic social performance in Lithuania. A score is relative to the configured brands that week. It describes observed social performance, not sales or brand quality.
Six signals. One score.
These are the starting weights. Every published week keeps a snapshot of the configuration used to calculate it.
- Engagement
- For each post, known likes + comments + shares divided by views. When views are missing, divide by the account’s followers instead. The follower fallback needs a known positive local audience; Facebook Global Page audiences cannot supply it. A recorded zero view count is not missing and cannot be used as a rate denominator. If all interactions are unknown, the post’s engagement stays unknown.
- Reach
- Use views when available; otherwise use total known likes + comments + shares. Recorded zeros count; completely missing interactions do not become zero. Reach is the median of the post percentiles, after the platform and media comparisons below.
- Shares
- Shares per 1,000 views, using TikTok and Facebook posts with both measurements. Instagram does not provide shares, so it is excluded from this signal.
- Consistency
- Add up each platform’s weekly posts, capped at 5 per platform. Posting more than the cap does not add consistency points.
- Growth
- 50% of the percentage-growth percentile plus 50% of the absolute-new-followers percentile. This gives the two measures equal influence despite different units. We select the capture closest to each week boundary within 3 days; equal distances prefer the earlier capture. Every included local account needs distinct, chronological snapshots at both ends. Missing history or a zero starting audience makes growth unknown.
- Platforms
- Number of platforms with a counted organic or unknown-status post in the 30 days before week end. A platform needs week-start coverage. Explicitly configured restricted platforms count as present even when logged-out access is blocked; this never creates posts, engagement or reach.
What counts as organic?
We exclude posts explicitly marked is_ad = true. Known organic posts and posts with unknown promotion status are included. Instagram and Facebook promotion status is generally unknown: inclusion does not prove that a post was never promoted. The Index measures the data we can observe.
We use the latest available metrics snapshot for each post, not the sum of repeated captures. Views are lifetime totals as of that snapshot. Recomputing an old week may change its score as observations mature.
Giveaways count as activity, not performance
A strong keyword such as “konkursas”, “giveaway”, “contest”, “dovanojame” or “dovanoju” flags a giveaway. Otherwise, a prize word such as “laimėk” or “win” must appear together with a participation instruction such as “komentuok”, “pažymėk draugą” or “follow”. Lithuanian stems match inflections such as “konkurse” and “laimėsi”, ignoring case and diacritics. A participation instruction also includes “atskleisk”, “parašyk” and “papasakok”. Card and purchase lotteries are excluded only when there is no comment or social instruction; a buying offer does not erase a comment giveaway. Winner announcements without new participation rules and questions about a future giveaway without rules are excluded. Prize signals without clear instructions and mixed purchase/participation captions are marked uncertain for review. Manual post-URL overrides take precedence. Caption detection remains a heuristic.
Giveaways are excluded from engagement, reach and shares, including their comparison groups and best-post highlights. They still count toward consistency, platform activity and the counted-post total. The brand tooltip reports how many were excluded. If all counted posts are giveaways, the three performance components receive zero points; missing measurements on other posts remain unknown. Discovery can show all posts, hide giveaways, or show only giveaways.
Small samples get less weight
A single unusually successful post is less convincing than several successful posts. We pull the engagement, reach and shares percentile toward the neutral midpoint, 50, using the number of non-giveaway posts with usable measurements for that component. The adjustment is 50 + (percentile − 50) × posts / (posts + 3). With one measured post, a raw percentile of 100 becomes 62.5; with three it becomes 75. The adjustment also pulls low percentiles toward 50.
Hover or focus a fingerprint to see the raw and adjusted percentile, posts used and effective component weight. Scores use the adjusted percentile. Zero-post and giveaway-only performance remains zero, so inactivity does not earn a neutral score. Consistency, growth and platform scores are unchanged.
Brand of the week and the three podium cards require at least 5 counted posts and a quality badge of full or limited. Limited data is allowed, including interaction-based measurement; low activity is excluded. Headline reasons choose the strongest adjusted percentile from engagement, reach and shares only. Consistency, growth and platform presence never supply a headline reason. A reason states the brand’s place on that component among all ranked brands, for example “Engagement #2 of 53”. A brand that leads at least three ranked brands in its own industry, without leading the whole Index, is shown as “Shares #1 in Restaurants (of 6)”. Ties share a place. The highest-ranked eligible brands are featured with their actual ranks; all brands keep their computed table rank. Higher-ranked brands that miss the criteria are marked “Not podium eligible”.
A settled week, not a race to post first
Weeks run Monday through Sunday in Europe/Vilnius. Week W is published on the Monday of W+2: posts are roughly 8–14 calendar days old, with at least 7 full days to collect views. The weekly job starts at 05:00 UTC on Monday, after profile and post ingestion; completion time depends on the data sources.
Brand and Compare charts draw buckets with a median post age under 7 days lighter and dashed as “still growing.” Those buckets and any running calendar bucket are excluded from changes. Recent posts have had less time to collect views.
Like-for-like comparisons
Engagement and reach compare posts only within the same platform and media group: TikTok video, Instagram reel, Instagram static or carousel, Facebook video, Facebook static or carousel. TikTok static/carousel posts form their own additional group. Within each group, views-based and fallback measurements are normalized separately, so different units are never compared directly.
Each usable post receives a percentile in its comparison group. Engagement averages the group percentiles weighted by the number of usable posts: equivalently, the mean of its post percentiles. Reach takes the median of its post percentiles. We do not percentile-rank these two brand results again. Equal values share the midpoint percentile of their positions; a singleton or an entirely tied group receives 50.
Every brand ranks. Quality stays visible.
Every brand in our configured catalogue receives a weekly rank, including brands with no posts. A platform contributes only when collected posts reach back to the start of the week; otherwise it is recorded as insufficient coverage and left out. This affects the quality badge, not whether the brand ranks.
With no counted posts, engagement, reach, shares and consistency receive literal zero raw values and zero component points. Platforms and available follower growth still count. One-post brands remain ranked, with the small-sample adjustment below. Other missing components are omitted and remaining weights rescaled to sum to one. Shares, consistency and platforms use brand-level percentiles; growth combines its two percentile measures.
- Full data
- Views for most counted posts, all tracked platforms covered, and no completely missing reach measurements.
- Limited data
- Fallback reach for more than 50% of posts, insufficient platform coverage, missing reach measurements, or views for no more than half of posts (including an even split). Tooltips explain the actual sources and gaps.
- Low activity
- Fewer than 2 counted posts. This badge takes precedence over limited coverage; its tooltip retains all coverage and fallback reasons. Rows stay in rank order. A trailing group of low activity brands has its own divider.
The table fingerprints show each component percentile, its raw group measurements, effective weight and whether it used views or a fallback. Score is the weighted sum, rounded to one decimal.
Big brands have at least 100,000 total known followers; the rest are Challengers. Facebook Global Page audiences are excluded from league totals and all follower growth. Their posts still count. League placement uses a boundary-near follower snapshot where available, otherwise an older snapshot, then the known current count for initial backfills; unknown accounts contribute no known followers.
Overall and league ranks share a place when rounded scores tie; the next rank skips the tied places. League filters change the displayed rank, while movement always compares overall rank with the immediately previous Index week: up, down, same, or NEW. Industry filters do not recalculate scores or ranks.
Sources and the preview
Public TikTok, Instagram and Facebook data is collected with Apify and stored with metric history in Supabase. Restrictions, deleted posts, missing fields and scraper coverage can affect results. No login cookies are used to bypass restricted pages.
The initial 2026-W42 Index is a preview using the history currently available. Empty historical weeks stay empty; movement and trends appear when consecutive published weeks exist. Preview is a collection-quality label, not a different scoring formula.