Developers
Query EMA Score of a Worker using allorad

How to Query Worker EMA Scores

What You'll Learn

  • Understanding EMA scores and their role in worker performance evaluation
  • How to query individual worker EMA scores using allorad commands
  • Methods to determine active vs passive set membership for reward eligibility
  • Comparing worker performance against active set thresholds

Overview

The EMA score (Exponential Moving Average) reflects a worker's performance over time for a given topic, balancing recent and past achievements, and helps determine whether a participant stays in the active set (eligible for rewards) or remains in the passive set.

What Makes EMA Scores Important?

EMA scores serve critical functions:

  • Performance tracking: Continuous assessment of worker accuracy over time
  • Reward eligibility: Determines active vs passive set membership
  • Fair evaluation: Balances recent performance with historical contributions
  • Network optimization: Ensures top-performing workers receive priority

Understanding Active vs Passive Sets

Active Set Participants:

  • Have their EMA score updated based on current performance
  • Maintain ongoing eligibility for rewards
  • Contribute during each epoch

Passive Set Participants:

  • Do not contribute during a given epoch
  • Receive adjusted scores using "dummy" values
  • Can re-enter active set based on historical performance
  • Process ensures fairness while allowing re-entry opportunities

Read about our v0.3.0 release on Merit-Based Sortitioning for a deeper dive on what makes up the active and passive set.

This process ensures fairness while allowing inactive participants the chance to rejoin the active set based on their historical performance.

Querying Worker Performance

Query EMA Score for a Specific Worker

To query the EMA score for a specific worker (identified by the worker's allo address), run:

allorad q emissions inferer-score-ema [topic_id] [worker_address] --node https://allora-rpc.testnet.allora.network/

Parameter Details:

  • Replace [topic_id] with your specific topic identifier
  • Replace [worker_address] with the worker's allo address

Use Cases:

  • Monitor your worker's performance trends
  • Evaluate performance before making operational changes
  • Track score improvements after model optimizations

Query the Lowest Worker in the Active Set's EMA Score

To query the lowest EMA score for a worker in the Active Set, run:

allorad q emissions current-lowest-inferer-score [topic_id] --node https://allora-rpc.testnet.allora.network/

Parameter Details:

  • Replace [topic_id] with your specific topic identifier

Use Cases:

  • Determine the minimum threshold for active set membership
  • Assess how close your worker is to losing active status
  • Plan performance improvements to maintain eligibility

Determining Active Set Membership

Performance Comparison Method

💡

To determine if your worker is in the active set and eligible for rewards, query your worker's EMA score and the lowest worker in the active set's EMA score and compare them. If your worker's EMA score for a specific topic is higher than the EMA score of the lowest worker in the active set, your worker is in the active set for that topic.

Step-by-Step Process:

  1. Query your worker's EMA score using the first command above
  2. Query the active set threshold using the second command above
  3. Compare the scores: Your score > Lowest active score = You're in the active set
  4. Take action: If below threshold, focus on improving model performance

Practical Implications

If Your Worker is in Active Set:

  • Eligible for rewards in current epoch
  • Performance directly impacts EMA score updates
  • Continue optimizing to maintain position

If Your Worker is in Passive Set:

  • Not eligible for current epoch rewards
  • Score adjusted using dummy values
  • Can re-enter active set with improved performance

Prerequisites

  • allorad CLI installed and configured
  • Access to Allora Network RPC endpoints
  • Knowledge of your worker's allo address
  • Understanding of topic IDs you're participating in

Next Steps