{removeCompanyStrings($displayCompanyName)} Forecast

{#each tabs as item, i} {#if data?.user?.tier !== "Pro" && i > 0} {:else} {/if} {/each}

Stock Price Forecast

The {numOfAnalyst} analysts with 12-month price forecasts for {$stockTicker} stock have an median target of {medianPriceTarget}, with a low estimate of {lowPriceTarget} and a high estimate of {highPriceTarget}. The median target predicts {medianChange > 0 ? "an increase" : "a decrease"} of {medianChange}% from the current stock price of {price}.

Target Low Average Median High
Price ${lowPriceTarget} ${avgPriceTarget} ${medianPriceTarget} ${highPriceTarget}
Change 0 ? "before:content-['+'] text-[#00FC50]" : "text-[#FF2F1F]"}>{lowChange}% 0 ? "before:content-['+'] text-[#00FC50]" : "text-[#FF2F1F]"}>{avgChange}% 0 ? "before:content-['+'] text-[#00FC50]" : "text-[#FF2F1F]"}>{medianChange}% 0 ? "before:content-['+'] text-[#00FC50]" : "text-[#FF2F1F]"}>{highChange}%

AI Analyst Report

{#if latestInfoDate(data?.getAnalystInsight?.date)} {/if}
{#if Object?.keys(data?.getAnalystInsight)?.length > 0} {#if data?.user?.tier === "Pro"}

{data?.getAnalystInsight?.insight}

Updated {data?.getAnalystInsight?.date}

{:else}

{data?.getAnalystInsight?.insight?.slice(0, 50) + "..."} Unlock content with Pro Subscription

Updated {data?.getAnalystInsight?.date}

{/if} {:else}

According to {numOfAnalyst} stock analyst, the rating for {$displayCompanyName} is "{consensusRating}". This means that the analyst believes this stock is likely to lead to {[ "Strong Sell", "Sell", ]?.includes(consensusRating) ? "lower" : ["Strong Buy", "Buy"]?.includes(consensusRating) ? "higher" : "similar"} returns than market as a whole.

{/if}
{#if optionsData !== null} {/if}
{#each recommendationList as item} {/each} {#each categories as category} {#each recommendationList as entry} {/each} {/each} {#each recommendationList as _, i} {/each}
Rating{new Intl.DateTimeFormat("en", { month: "short", year: "2-digit", }).format(new Date(item?.date))}
{category}{entry[category]}
Total {getTotalForDate(i, recommendationList)}

Financial Forecast this Year

{#if data?.getAnalystEstimate?.length !== 0}
Revenue This Year
{data?.getAnalystEstimate[index]?.estimatedRevenueAvg !== null && data?.getAnalystEstimate[index]?.estimatedRevenueAvg !== 0 ? abbreviateNumber( data?.getAnalystEstimate[index]?.estimatedRevenueAvg, ) : "n/a"} {#if data?.getAnalystEstimate[index]?.estimatedRevenueAvg !== null && data?.getAnalystEstimate[index]?.estimatedRevenueAvg !== 0}
from {data?.getAnalystEstimate[index - 1]?.revenue !== undefined ? abbreviateNumber( data?.getAnalystEstimate[index - 1]?.revenue, ) : "n/a"}
{/if}
{#if data?.getAnalystEstimate[index]?.estimatedRevenueAvg !== null && data?.getAnalystEstimate[index]?.estimatedRevenueAvg !== 0}
Increased by {abbreviateNumber(changeRevenue?.toFixed(1))}%
{/if}
{#if data?.getAnalystEstimate[index]?.estimatedRevenueAvg !== null && data?.getAnalystEstimate[index]?.estimatedRevenueAvg !== 0} {/if}
Revenue Next Year
{data?.getAnalystEstimate[index + 1] ?.estimatedRevenueAvg !== undefined ? abbreviateNumber( data?.getAnalystEstimate[index + 1] ?.estimatedRevenueAvg, ) : "n/a"}
from {data?.getAnalystEstimate[index] ?.estimatedRevenueAvg !== undefined ? abbreviateNumber( data?.getAnalystEstimate[index] ?.estimatedRevenueAvg, ) : "n/a"}
Increased by {abbreviateNumber(changeRevenueNextYear?.toFixed(1))}%
EPS This Year
{abbreviateNumber( data?.getAnalystEstimate[index]?.estimatedEpsAvg, )}
from {data?.getAnalystEstimate[index - 1]?.eps}
Increased by {abbreviateNumber(changeEPS?.toFixed(1))}%
EPS Next Year
{abbreviateNumber( data?.getAnalystEstimate[index + 1]?.estimatedEpsAvg, )}
from {abbreviateNumber( data?.getAnalystEstimate[index]?.estimatedEpsAvg, )}
Increased by {abbreviateNumber(changeEPSNextYear?.toFixed(1))}%
{#await import("$lib/components/AnalystEstimate.svelte") then { default: Comp }} {/await}
{:else}
No analyst forecast available for {$displayCompanyName}.
{/if}