Download App
iOS & Android

How to Find and Analyze Trends on Farcaster

From Andrew Hong

What Open Social Data Enables

This is the first time in history that three datasets have come together in the open:

  • High quality user transaction data (blockchain data)
  • High quality social graph data (profiles, followers, and actions)
  • Verified linkage of addresses (user X owns wallets A,B,C)

And on top of that, these datasets have come together in a vertically integrated data stack (Neynar for Farcaster data, and Dune for onchain data) that is open for everyone to use.

Doing the equivalent with reddit, twitter, plaid, and stripe data would take hundreds of thousands of dollars to scrape and build data infra for. This leads to a concentration of data wealth and product in the hands of a select few companies (those overflowing with money and connections).

I’ve built a dashboard that combines the three datasets above and showcases some basic clustering and trends across words, users, and channels.

📊 Farcaster Trends Explorer Dashboard

Contribute to the methodology in the dashboard GitHub repo

🔔Use our Farcaster query templates and set some Slack/Discord alerts

Let’s walk through the kinds of trends and analysis you can kickoff from here.

Words and Topics

Most people have seen screenshots from google trends before. You get to put in any word and see the interest/performance over time:

Here’s a simple example of week over week “word” trends on Farcaster, week over week:

TF-IDF explained

Some column definitions:

  • Word: each word is isolated from every cast in the last 14 days
  • Casters: number of users who included a given word in their cast
  • TF: term frequency, or number of times this word appeared in casts.
  • IDF: inverse document frequency - basically the higher this is, the more unique the word is. I used each caster as a “document”, so in this context a higher IDF means it was cast by less people.
  • TF-IDF: the multiplication between frequency and uniqueness measures

You can immediately get a high quality view of what’s trending in the Farcaster ecosystem, with a single SQL query. This query is easily extensible to filter for trending words on a subset of users or channels, and for you to apply your own measurements on top.

Now, you’ll also notice that I filtered on casts only from “active badge” users. Let’s get into how I labeled users next.

User Labels and Trends

Okay, let’s take it to the next level now. I want to be able to identify the quality of a user and then rank users based on age, Farcaster activity, and onchain activity. For this dashboard, I came up with the following five tiers:

  • 🤖 npc: Less than 400 followers
  • 🥉 active: 400+ followers, 1+ casts, 100+ engagement score
  • 🥈 star: 1k+ followers, 5+ casts, 5k+ engagement score
  • 🥇 influencer: 10k+ followers, 10+ casts, 25k+ engagement score
  • 💎 vip: 50k+ followers, 10+ casts, 50k+ engagement score

Where engagement score is [likes + recasts*3 + replies*10] and only “received (R)” actions are counted to this score. It’s likely you could use actions “given” as part of user tiering too, but just measuring casts felt good enough to me for a basic model.

Out of 83k users who sent a cast in the last 14 days, about 3k of them are higher quality users. With this in mind, we can create a leaderboard of these users:

I can not only see that are Dan (dwr) and Vitalik the top followed users on the platform, but also that Vitalik is active in the “geopolitics” channel and mainly shares either his own blogs ( or github links, and that Dan has been very active in deploying contracts (198 contracts deployed).

Let me cover some of the more complex column definitions:

  • Channels: This is the number of channels that a user casted in (over the last 14 days)
  • Top Channels: These are the top three channel-ids that a user casted in, ranked by number of user casts in them.
  • Top Domains: These are the top three domains found in links that a user casted, ranked by number of times the domain appears
  • Txs, Volume, Contract Deploys: These are the all-time totals across all verified addresses, across all EVM chains that Dune currently covers.

Now, what if I want to add filters to see trending users based on some criteria? For example “show me the trending users based on engagement that @jessepollak has followed, who are less than 7 days old.” This will then give me a list of users that I might consider as the “potential new builders on Base”.

You’ll see there are also “user channel filter” and “held token address” filters there too. That means that I could filter for trending users in only a given channel, or trending users who have ever held the Nouns token. The possible combinations here are endless, I’ve only added six parameters that I thought were useful - but you can fork the query and add your own!

Channel Labels and Trends

Channels are like “subreddits”, where they have followers who cast inside them and hosts who manage the channel. I’ve created five tiers of channels:

  • 💤 quiet: less than 5 casts and less than 50 engagement score
  • 🍻 friends: 5+ casts, 50+ engagement score
  • 🔍 niche: 25+ casts, 5,000+ engagement score, 100+ casters
  • 🎭 subculture: 100+ casts, 25,000+ engagement score, 50+ rising stars and 2+ influencers/vips
  • 👑 stadium: 250+ casts, 100,000+ engagement score, 10+ influencers/vips

The idea here is that by combining user tiers and channel tiers, you can get a much better sense of which channels are high signal. Let’s start off with an all active channels ranking:

I’ve sorted by “engagement” here, and you’ll notice that not all high engagement channels are “stadiums”. This is because there are plenty of channels with a large concentration of “npc” or “active” users, but not many “star”, “influencer”, or “vip” users. I still consider these to be pretty niche.

Covering some column definitions again:

  • Top Influential Casters: These are the top three influencer/vip tier users, ordered by number of casts in channel in the last 14 days
  • 🤖,🥉,🥈 ,🥇 ,💎: The emojis in the table match up with the emojis I used for user tiers. This measures the number of users in a tier who sent a cast in the last week in that channel
  • Avg Txs, Volume, Contract Deploys: I took the average of these onchain metrics across all users with at least one transaction (columns are on the far right). I think there is still more work to be done here to make this a strong channel signal.

So for the trending view, I might want to see which channels are under 7 days old but have the highest number of “influencers” actively casting in them:

I quickly find that there are a bunch of niche channels like “superbowl”, “donothing”, and “consumercrypto” that seem to be popular with influencers but not have that much engagement or other users in there yet. I could use this information to try and join channels early, to grow my own account and relationships.

You can also filter by trending channels given a “username filter”, i.e. what are the trending channels Vitalik is a part of. Or filter based on “channel held token address”, which if you put in Nouns would show you channels trending amongst Nouns holders.


All Comments

Recommended for you

  • Cointime June 22th News Express

    1. 21 million LINK flowed out of the Chainlink non-circulating supply contract 3 hours ago, equivalent to approximately US$295 million

  • Bitcoin’s blockchain bandwidth utilization exceeds 90% for the first time since April halving

    Since the halving event in April, the blockchain bandwidth usage rate of Bitcoin has exceeded 90% for the first time. The increase in bandwidth usage after the halving is mainly attributed to the adoption of new token standards, including Runes and BRC-20. Dune Analytics data shows that the transaction volume involving these two token standards has significantly increased, especially on April 23, when the transaction volume of Runes exceeded 750,000.

  • Rapper 50 Cent claims that his X account was hacked, and the hacker promoted cryptocurrency and defrauded about $300 million

    On June 22nd,famous rapper Curtis James Jackson III (stage name "50 Cent") claimed that his former Twitter account and website were hacked, resulting in hackers promoting a cryptocurrency scam and defrauding victims of $30 million.The hackers created a new cryptocurrency called "GUNIT" and used 50 Cent's large following (approximately 12.9 million fans) to attract more investors and drive up the price, then drained its value, causing the token price to plummet to $0.00016. On June 21st, 50 Cent posted on Instagram to his 32.8 million fans about the hack and admitted that a large amount of funds from victims had been lost from the project. "Twitter quickly locked my account. Whoever did this, got $30 million within 30 minutes," 50 Cent claimed, stating that he had no involvement with this cryptocurrency scam.

  • Trump campaign returns excess donations to Gemini

    Donald Trump's campaign team has returned donations exceeding the legal limit to the United States cryptocurrency exchange Gemini's co-founders Cameron Winklevoss and Tyler Winklevoss. Earlier, Gemini co-founders Cameron Winklevoss and Tyler Winklevoss tweeted that they had each donated 1 million US dollars worth of Bitcoin (15.47 BTC) to the Trump campaign, exceeding the maximum limit of $844,600 per person that the Trump committee can legally accept.

  • Glassnode: Bitcoin miners have not "completely sold off" and may be in the break-even period

    Glassnode Chief Analyst James Check said that Bitcoin miners may be struggling, but they may not have fully entered a bear market level. They mine 10 bitcoins and then sell 10 bitcoins. Miners must adapt and adjust fees to become their main source of income, forcing the industry to further innovate and apply effective capital management.

  • Jupiter Lianchuang: A new PPP mechanism needs to be invented to prove that there is a better alternative than PVP

    Meow, co-founder of Jupiter, posted on social media stating that PPP (Participant-Platform-Protocol) is very important, otherwise they will devour each other before achieving all the dreams of changing the world.Currently, incentive measures strongly favor PVP (Participant-Value-Protocol), but everyone feels worse about our industry than ever before. Now we need to invent new PPP mechanisms and use them to prove that there are better alternatives than PVP, otherwise we will just blame each other all day and say, "Yes, that's how the game is played."

  • What is Tether’s gold-backed stablecoin, ‘Alloy’ (aUSD₮)?

    Tethered assets are a versatile class of digital tokens designed to track the price of various reference assets, such as the United States dollar.

  • How to long and short with margin trading

    How to long and short with margin trading

  • AI needs authentic information at scale, and this is how blockchain can deliver

    Blockchain holds the key to feeding AI with verifiable information, and the Polkadot ecosystem is gearing up to make it happen in the data-driven future.

  • DePIN developer Verida completes $5 million seed round

    Verida, a DePIN network developer, has completed a $5 million seed round of financing with a post-investment valuation of $50 million. Participating investors include O-DE Capital Partners, ChaiTech Ventures, Simurg Labs, Gate Labs, HASH CIB, Bison Capital, Amesten Capital, and Evan Cheng from Mysten Labs. The new funds will be used to develop Verida's personal data storage infrastructure, providing decentralized storage and encryption services for user personal information.