
Estimate Analysis
Pull Yahoo Finance consensus EPS and revenue estimates with revision trends before sizing a position or validating a thesis.
Overview
estimate-analysis is an agent skill for the Idea phase that reports Yahoo Finance EPS and revenue consensus, revision trends, and benchmark comparisons for a stock ticker.
Install
npx skills add https://github.com/himself65/finance-skills --skill estimate-analysisWhat is this skill?
- EPS and revenue estimate distributions for current/next quarter and current/next year
- Revision trends across 7-, 30-, 60-, and 90-day windows with up/down breadth
- Growth estimate comparisons vs industry, sector, and S&P 500 benchmarks
- Historical estimate accuracy with beat/miss style assessment via yfinance
- Auto-installs yfinance when missing; no API keys required
- Revision windows: 7, 30, 60, and 90 days
- Periods: current/next quarter and current/next year estimates
Adoption & trust: 757 installs on skills.sh; 2.7k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are trading or researching a ticker but only have spot price data, not how analyst EPS and revenue estimates have been revising over time.
Who is it for?
Solo builders doing fundamental homework on individual stocks or comps before investment, content, or fintech side projects.
Skip if: Real-time execution, proprietary institutional research feeds, or compliance-grade investment advice without your own verification.
When should I use this skill?
User asks for estimate analysis, EPS revisions, revenue estimates, consensus changes, estimate momentum, or revision trends for a ticker.
What do I get? / Deliverables
You receive a structured estimate and revision picture—multi-horizon trends, breadth, growth vs benchmarks, and accuracy context—for the symbol you named.
- Estimate distribution summary
- Multi-horizon revision trend view
- Benchmark-relative growth and accuracy notes
Recommended Skills
Journey fit
Forward estimates and revision momentum are research inputs you gather before committing capital or product bets tied to public companies. Research subphase under Idea covers desk work on fundamentals and consensus data rather than shipping code.
How it compares
Use this yfinance-backed research skill instead of asking the model to hallucinate analyst numbers from memory.
Common Questions / FAQ
Who is estimate-analysis for?
Independent developers and investors who want agent-driven consensus EPS and revenue analysis from public Yahoo Finance data.
When should I use estimate-analysis?
Use it during Idea research when comparing tickers, checking estimate momentum, or validating a bull versus bear narrative before you build dashboards or write investment content.
Is estimate-analysis safe to install?
Review the Security Audits panel on Prism before installing; the skill fetches market data over the network via yfinance and may auto-install that Python dependency.
SKILL.md
READMESKILL.md - Estimate Analysis
# Estimate Analysis Deep-dive into analyst estimates and revision trends for any stock using Yahoo Finance data. ## What it does - Shows EPS and revenue estimate distributions across all periods (current/next quarter, current/next year) - Tracks estimate revision trends over 7, 30, 60, and 90-day windows - Counts upward vs downward revisions to measure revision breadth - Compares growth estimates against industry, sector, and S&P 500 benchmarks - Assesses historical estimate accuracy with beat/miss patterns ## Triggers `estimate analysis for AAPL`, `analyst estimate trends for NVDA`, `EPS revisions for TSLA`, `how have estimates changed for MSFT`, `estimate revisions`, `EPS trend`, `revenue estimates`, `consensus changes`, `analyst estimates`, `growth estimates`, `are estimates going up or down`, `estimate momentum`, `revision trend`, `forward estimates`, `bull case vs bear case estimates`, `estimate spread` ## Prerequisites - Python 3.8+ - `yfinance` (auto-installed if missing) ## Platform All platforms (Claude Code, Claude.ai, other agents) ## Setup No setup required — yfinance pulls data from Yahoo Finance without authentication. ## Reference Files - `references/api_reference.md` — yfinance API reference for all estimate-related methods # Estimate Analysis — yfinance API Reference Detailed reference for the yfinance estimate and analysis methods. --- ## Earnings Estimate ```python ticker.earnings_estimate ``` Returns a DataFrame indexed by period with columns: - `numberOfAnalysts` — analyst count - `avg` — consensus average EPS - `low` — lowest EPS estimate - `high` — highest EPS estimate - `yearAgoEps` — EPS from same period last year - `growth` — expected growth rate (decimal: 0.127 = 12.7%) Periods: - `0q` — current quarter - `+1q` — next quarter - `0y` — current fiscal year - `+1y` — next fiscal year --- ## Revenue Estimate ```python ticker.revenue_estimate ``` Same period structure as earnings_estimate. Columns: - `numberOfAnalysts` - `avg` — consensus revenue - `low`, `high` — range - `yearAgoRevenue` — revenue from same period last year - `growth` — expected growth rate (decimal) **Note**: Revenue figures are in raw numbers. Format for display: ```python def format_revenue(val): if val >= 1e12: return f"${val/1e12:.1f}T" if val >= 1e9: return f"${val/1e9:.1f}B" if val >= 1e6: return f"${val/1e6:.1f}M" return f"${val:,.0f}" ``` --- ## EPS Trend ```python ticker.eps_trend ``` Shows how the EPS consensus has changed over time. Returns a DataFrame with: Index: same periods (0q, +1q, 0y, +1y) Columns: - `current` — current estimate - `7daysAgo` — estimate 7 days ago - `30daysAgo` — estimate 30 days ago - `60daysAgo` — estimate 60 days ago - `90daysAgo` — estimate 90 days ago **Usage**: Calculate the change over each window to identify revision momentum: ```python trend = ticker.eps_trend for period in trend.index: row = trend.loc[period] change_90d = row['current'] - row['90daysAgo'] change_30d = row['current'] - row['30daysAgo'] pct_change_90d = change_90d / abs(row['90daysAgo']) * 100 print(f"{period}: {change_90d:+.2f} ({pct_change_90d:+.1f}%) over 90 days") ``` --- ## EPS Revisions ```python ticker.eps_revisions ``` Shows the count of upward and downward estimate revisions. Returns a DataFrame with: Index: periods (0q, +1q, 0y, +1y) Columns: - `upLast7days` — number of upward revisions in last 7 days - `upLast30days` — number of upward revisions in last 30 days - `downLast7days` — number of downward revisions in last 7 days - `downLast30days` — number of downward revisions in last 30 days **Revision ratio** (useful metric): ```python revisions = ticker.eps_revisions for period in revisions.index: row = revisions.loc[period] total_30d = row['upLast30days'] + row['downLast30days'] if total_30d > 0: ratio = row['upLast30days'] / total_30d print(f"{period}: {ratio:.0%} bullish ({row['upLast30days']} up, {row['downLast30