why is salesforce stock dropping - 2-3 bullets
why is salesforce stock dropping - 2-3 bullets
Calling: search_ticker
- query="Salesforce"
Calling: exa_web_search
- post_search_concerns="I need to find recent news or market analysis explaining why Salesforce stock might be dropping.", queries=["Salesforce CRM stock dropping reasons June 2026", "Why is Salesforce stock down recently 2026"]
Salesforce (CRM) stock has experienced recent volatility and downward pressure due to a combination of market sentiment and company-specific factors:
max 30 words - what was the change in guidance?
Salesforce’s full-year fiscal 2027 revenue guidance fell slightly short of analyst expectations, fueling investor concerns about potential growth deceleration despite the company beating first-quarter earnings estimates.
give numbers
Salesforce provided the following guidance for fiscal year 2027:
Investors had expected slightly higher targets.
IS Fy26 for salesfroce finished? If yes - what was full year and Q2 revenue in fy26
Calling: load
- metrics=["total_revenue"], tickers=["CRM"]
DataFrame 140
OK crm_fundamentals (101 rows)
Calling: compute
- dataframe_ids=[140], code="result = df_140[(df_140['date'] == '2026-01-31') & (df_140['period_type'] == 'annual') | (df_140['date'] == '2025-07-31') & (df_140['period_type'] == 'quarterly')]"
DataFrame 141
OK result_141 (2 rows)
Yes, Salesforce's fiscal year 2026 (FY26) is complete (it ended January 31, 2026).
Can you make a chart with salesforce stock price earnings ratio last 5 years
Calling: load
- metrics=["close", "trailing_pe"], tickers=["CRM"], start_date="2021-06-08"
Calling: load
- start_date="2021-06-08", tickers=["CRM"], metrics=["eps_reported"]
DataFrame 144
OK crm_fundamentals_131512_72e3fe (111 rows)
Calling: compute
- code="df_142['date'] = pd.to_datetime(df_142['date'])\ndf_144['date'] = pd.to_datetime(df_144['date'])\ndf_144 = df_144[df_144['period_type'] == 'quarterly']\nmerged = pd.merge_asof(df_142.sort_values('date'), df_144.sort_values('date'), on='date', by='ticker', direction='backward')\nmerged['pe_ratio'] = merged['close'] / merged['eps_reported']\nresult = merged[['ticker', 'date', 'pe_ratio']]", dataframe_ids=[142, 144]
DataFrame 145
OK result_145 (1256 rows)
Calling: show_chart
- series=["pe_ratio"], dataframe_id=145, x="date", title="Salesforce (CRM) Price-to-Earnings Ratio (Last 5 Years)"
Blob 63
DataFrame 145
OK result_145 (1256 rows)
The chart above displays the Price-to-Earnings (P/E) ratio for Salesforce (CRM) over the last five years, calculated using quarterly earnings reports.
I dont understand the latest numbers - how is iit near 40/50s. Can you check with net income, and market cap?
Calling: load
- tickers=["CRM"], metrics=["market_cap", "trailing_pe", "eps"]
DataFrame 146
OK crm_overview_131607_bac719 (1 rows)
The confusion stems from a technical error in my previous chart calculation: I used quarterly earnings per share (EPS) without annualizing it. When you divide a stock price by a single quarter’s earnings, you get a ratio ~4x higher than the true annual P/E.
Here is the correct, annualized breakdown for Salesforce (CRM) as of today:
When calculated correctly (Price / Annual EPS), the P/E ratio is in the low 20s, not the 40s or 50s. The 20s reflect a more typical valuation range for a mature software company of Salesforce's scale.
so make chart again with correct numbers
Calling: compute
- code="df_142['date'] = pd.to_datetime(df_142['date'])\ndf_144['date'] = pd.to_datetime(df_144['date'])\ndf_144 = df_144[df_144['period_type'] == 'quarterly'].sort_values('date')\ndf_144['ttm_eps'] = df_144.groupby('ticker')['eps_reported'].rolling(window=4).sum().reset_index(0, drop=True)\nmerged = pd.merge_asof(df_142.sort_values('date'), df_144[['ticker', 'date', 'ttm_eps']].sort_values('date'), on='date', by='ticker', direction='backward')\nmerged['pe_ratio'] = merged['close'] / merged['ttm_eps']\nresult = merged[['ticker', 'date', 'pe_ratio']].dropna()", dataframe_ids=[142, 144]
DataFrame 147
OK result_147 (1256 rows)
Calling: show_chart
- x="date", series=["pe_ratio"], dataframe_id=147, title="Salesforce (CRM) Trailing P/E Ratio (Last 5 Years)"
Blob 64
DataFrame 147
OK result_147 (1256 rows)
can you call show_cahrt again
Calling: show_chart
- x="date", dataframe_id=147, series=["pe_ratio"], title="Salesforce (CRM) Trailing P/E Ratio (Last 5 Years)"
Blob 65
DataFrame 147
OK result_147 (1256 rows)
The chart for Salesforce's Trailing P/E ratio (calculated as Price divided by TTM Earnings) has been displayed above, reflecting the corrected, normalized valuation metrics you requested.