Corporate Results Monitor

FNArena's All-Year Round Australian Corporate Results Monitor.

Currently monitoring September 2025-January 2026.

Figures shown as at 30 November 2025

FNArena subscribers receive the most current information. Please login with your account details.

TOTAL STOCKS:

49

Beats

14

In Line

16

Misses

19

Total Rating Upgrades:

15

Total Rating Downgrades:

6

Total target price movement in aggregate:

-0.39%

Average individual target price change:

0.27%

Beat/Miss Ratio:

0.74

Previous Corporate Results Updates

Company Result Upgrades Downgrades Buy/
Hold/Sell
Prev Target New Target Brokers Commentary
ALQ - ALS Ltd BEAT 0 0 6/0/0 22.29 24.26 6

As largely anticipated, ALS Ltd reported a 1H26 earnings beat. Macquarie asserts investors will be encouraged by the leverage to the exploration cycle and strong gold price. Citi believes there's upside risk to Commodities revenue even after the guidance upgrade, with exploration recovery not fully priced in, as well as bias for margins to the upside. UBS believes Life Sciences achieved better than anticipated results against a challenging backdrop. The only negative was a slightly lower than forecast dividend at 19.4c, Citi notes. Six Buy-equivalent ratings.

AMC - Amcor BEAT 1 0 5/1/0 16.43 16.41 6

Amcor's quarterly performance beat most forecasts on most metrics, in moderate fashion. While volumes were weak again, down -3% y/y, strong margin outcomes helped. Management re-iterated FY26 EPS guidance of US80-83c, representing 12-17% growth at the midpoint. Realised synergies of US38m were achieved from the Berry acquisition, with US50-55m slated for 2Q26. Morgans (upgrade to Buy) sees Amcor as a very defensive company with a good track record of integrating large-scale acquisitions. Macquarie observes the company achieved US$100m via asset sales and has stabilised North American Beverages, with a potential sale or JV targeted for FY27. Morgan Stanley adds comparisons with a year ago only get easier from here onwards. Five Buys versus Ord Minnett on Neutral/Hold.

ANZ - ANZ Bank IN LINE 0 0 0/3/3 32.95 33.52 6

ANZ Bank's FY25 generally met expectations, but positive sentiment dominated on a lower FY25 cost base, stable NIM outlook, and strong capital position, which reduced the likelihood of a second DRP. CET1 capital at 12% provided an additional upside surprise. Morgans notes the dividend (83cps) was maintained, with the broker expecting it to stay flat until payout normalises. ROTE goals of 12-13% by FY28-30 were re-affirmed, though the broker sees this as ambitious without stronger revenue growth or buybacks. Macquarie adds despite a recent re-rating, ANZ shares are still trading at a material discount to peers. Morgan Stanley has upgraded ANZ to preferred bank exposure over National Australia Bank. Six brokers covering remain equally divided over Neutral/Hold and Sell ratings.

ARX - Aroa Biosurgery MISS 1 0 2/0/0 0.83 0.82 2

Aroa Biosurgery's 1H26 results came in below expectations, with Morgans pointing to a lower contribution from Tela Bio and Enform. Myriad sales productivity improved with no new headcount and higher account values, with Bell Potter pointing to the upcoming randomised clinical trials data as further supporting adoption. Management reiterated guidance, although revised down estimates to slightly above the midpoint of the range (EBITDA) of NZ$5-NZ$8m following the downgrade of Telo Bio. Two Buy ratings, with one an upgrade from Accumulate.

BOQ - Bank of Queensland IN LINE 1 0 0/3/3 6.38 6.55 6

Bank of Queensland's FY25 landed at the upper end of the bank's guidance range with a better-than-expected dividend on top. Macquarie maintains the FY26 outlook remains challenging. Progress is noted on the regional lender's simplification strategy but there is limited improvement in returns. Cost savings of around $20-30m from decommissioning ME Bank systems have been deferred to FY27. Citi views FY26 as a transitional period, setting the stage for more meaningful cost tailwinds in FY27 and a recovery in balance sheet growth. Ord Minnett suggests the proposed divestment of the bank's $3.8bn equipment finance portfolio is expected to speed up the transformation process. Earnings forecasts have generally declined for FY26, but picked up beyond.

XYZ - Block MISS 0 0 1/0/0 0.00 0.00 1

Looks like Block's quarterly update disappointed on weaker-than-anticipated guidance for Q4, but UBS sees mainly positives, highlighting both of Block's ecosystems are trending in the right direction. Zooming in on Square specifically, UBS observes strong inroads made into larger sellers and restaurants; both considered highly competitive areas. UBS analysts are not worried, explaining management tends to be conservative in order to outperform later on. Buy.

CSC - Capstone Copper BEAT 1 0 4/0/0 14.79 16.23 4

Capstone Copper's 3Q25 update revealed production, sales, costs, and earnings (EBITDA) all coming in better than consensus expectations. Management maintained guidance at 220-255kt, slanted to the lower end of consensus forecasts, with cost guidance of US$2.20-US$2.50/lb at the upper end. Pinto Valley experienced another tough period and missed the consensus production estimate by -10%, with cash costs 8% higher than consensus due to water problems from drought in Arizona. Macquarie (Buy) has lowered its EPS forecasts by -4% for 2025. Morgans predicts sustained margin expansion if copper prices remain near US$5/lb and has upgraded to Buy from Accumulate. Citi (Buy) has now joined its peers with a $16 price target.

CAT - Catapult Sports MISS 0 0 3/0/0 7.97 6.57 3

Catapult Sports outperformed forecasts with its interim numbers but the negative surprise came through an increase in share-based payments and higher D&A from recent acquisitions, which forced analysts to dilute their forecasts. The share price responded accordingly. Underlying earnings (EBITDA) of US$11.7m, excluding a one-off -US$2m payroll tax expense, reflected an 88% improvement and a 660bps margin gain. UBS notes continued momentum across both Performance & Health (wearables) and Tactics & Coaching (video), with total professional teams up 8% to 3,878 and multi-product adoption lifting to 22%. Three brokers all kept their Buy ratings unchanged.

CIA - Champion Iron BEAT 0 1 0/2/0 5.53 5.33 2

Champion Iron's September quarter (2Q26) result outperformed forecasts on key metrics, but ore hardness remains an issue. Production of 3.6Mt was ahead of the consensus by 6%, driven by record material movement, higher head grades (29.6%), and better Fe recoveries (79.6%). Sales volumes again exceeded production as stockpiles were drawn down despite rail maintenance. Unit costs improved due to higher grades, recoveries, and sales. Ore hardness issues persist but are moderating, with access to new ore sources expected to aid blending. Macquarie (Neutral) notes the DRPF project (upgrading to 69% Fe DR-grade feed) remains on schedule for 1H 2026 commissioning, with inflation-adjusted budget now -CA$500m (from -CA$470m), and premium pricing negotiations ongoing. Bell Potter has downgraded to Hold from Buy.

DVP - Develop Global MISS 0 0 1/0/0 5.30 5.10 1

Develop Global reported FY25 revenue of $231m, slightly below Bell Potter's expectations, with earnings (EBITDA) of $25.4m, around half of the broker's forecast. Losses continued with an underlying net loss of -$5.2m due to lower cost capitalisation during the Woodlawn ramp-up (copper, zinc, and lead concentrates, with by-product silver and gold credits) and higher share-based payments. Net debt was $74.5m against prior net cash, with capital expenditure of -$61.3m. The broker lowers its target to $5.10 from $5.30 and retains a Buy rating.

DNL - Dyno Nobel BEAT 1 1 1/4/0 3.20 3.51 6

Dyno Nobel's FY25 earnings (EBIT) of $714m were at the upper end of the guidance range, while guiding to stronger-than-expected FY26 growth, led by robust explosives' performance. Morgan Stanley assesses the company is delivering against its transformation targets, aiming to double earnings to $600m by FY28 versus FY23 results. But equally so: the main risks centre, still, on the sale or closure of Phosphate Hill. Following the sale of the fertilisers distribution business and Gibson Island land, $930m has been returned to shareholders, with a further $470m planned. Citi has upgraded to Buy from Neutral while Ord Minnett downgraded to Hold from Accumulate on the rising share price. Three others sit on Neutral/Hold. Macquarie is under research restriction (no rating).

EBR - EBR Systems IN LINE 0 0 2/0/0 2.56 2.65 2

EBR Systems delivered third quarter results that were largely in line with expectations, reporting a third quarter net loss of -US$12.2m. Morgans (Buy) was pleased case volumes in WiSE, a cardiac resynchronisation therapy system, have increased threefold quarter on quarter, demonstrating its practical value. The broker considers the phased US roll-out disciplined and makes no changes to 2025-27 forecasts. Bell Potter (Buy) highlights gross margin year-to-date was strong at 45% but is expected to dip in 2026 as inventory from the Solve trial is utilised and replaced with current inventory, before improving from 2027.

ELD - Elders IN LINE 0 0 4/0/0 8.80 8.70 4

Elders reported FY25 earnings which aligned with the company's revised guidance, with profit up 34% on the previous year. Macquarie noted the underlying profit result was better than expected due to a lower effective tax rate, while Morgans pointed to higher costs from acquisitions and its transition projects (Systems Modernisation) with no ancillary earnings benefit. Management is upbeat on the FY26 outlook, with the first six weeks of trading up 30% as the drought impacts moderate in the southern states. Citi also pointed to stronger FY26 production sales, solid cattle activity and leverage returning to target post the earnings call. Four out of four Buy ratings.

ERD - Eroad IN LINE 0 0 1/0/0 2.50 2.50 1

Eroad's 1H26 result was broadly in line with expectations. EBITDA of NZ$28.7m slightly fell short, but normalised free cash flow proved the positive stand-out. The company re-affirmed FY26 guidance for revenue of NZ$197-203m, annual recurring revenue (ARR) of NZ$175-183m, and free cash flow margin of 5-8%. Shaw and Partners notes operating conditions remain tough, with ARR churn largely driven by fleet downsizing. On the positive side, a new Cleanaway Waste Management ((CWY)) contract in Australia adds to ARR at much higher ARPU, supporting the broker's view the company is undervalued.

FPH - Fisher & Paykel Healthcare BEAT 0 0 2/2/0 0.00 37.00 4

Lower capex and a tailwind from a stronger NZD boosted Fisher & Paykel Healthcare's 1H26 result, which came in 7% above UBS' forecast. Macquarie points to stronger operating leverage that led to 39% y/y net profit growth, which beat forecasts and consensus. Revenue also came in higher than anticipated. Citi sees FY26 profit landing between the midpoint and top end of increased guidance, after a 1% revenue upgrade and 5% profit upgrade at the midpoint. Over the medium to long term, Morgan Stanley envisages revenue will be supported by new applications, and, combined with margin improvement, the medtech company is believed to have an attractive outlook. Two Buy-equivalent ratings and two Hold ratings.

FPR - FleetPartners Group MISS 0 0 3/0/0 3.66 3.56 3

FleetPartners Group produced a FY25 result that was ahead of Ord Minnett's (Buy) estimates, but management spoiled the party by signalling uncertainty regarding ongoing macro challenges. The capital management strategy has changed, after five years of buybacks, with dividends resuming at a 60-70% payout, slightly ahead of the broker's expectation. The company has also acquired Remunerate, providing an entry into a base salary packaging offering. Target rises to $3.50 from $3.40.

GTK - Gentrack Group IN LINE 0 0 2/2/0 9.77 10.00 4

Morgan Stanley notes the FY25 results from Gentrack Group were mixed, with revenue slightly ahead and EBITDA slightly behind forecasts, while UBS points to a miss of forecasts due to slower recurring utility revenue and higher utility costs. Investors were relieved that FY26 guidance and beyond offer greater transparency and clarity around the new customer pipeline and earnings growth, with the share price rallying sharply on the guidance update. Bell Potter highlighted 3-4 of the current pipeline opportunities could underpin strong FY27 growth. Scope for FY26 consensus earnings downgrades is likely to be offset by the more constructive pipeline outlook, Morgan Stanley states. Two Buy ratings and two Hold-equivalent ratings.

GNC - GrainCorp MISS 0 0 3/1/0 9.02 9.05 4

GrainCorp delivered a modestly disappointing FY25 result with nutrition and energy the main drags, as well as ongoing weak crushing margins. Macquarie sees value in the stock because of a robust dividend yield, cash generation and exposure to east coast grain production. Ample grain production is likely to persist into FY26, absent significant supply shocks. Ord Minnett spotted a "solid" performance and considers share price weakness as unwarranted. The GrainsConnect JV was impaired, with -$15m loss booked in FY25, and no future losses will be reflected in the P&L FY26 guidance is expected at the AGM in February. So far, two Buys versus one Neutral/Hold, pending further updates.

IFT - Infratil MISS 0 0 3/0/0 0.00 0.00 3

Infratil's FY25 met guidance and expectations, but FY26 proportional earnings (EBITDA) guidance was lowered to NZ$960m-NZ$1,000m from NZ$1,000-NZ$1015m to adjust for asset sales while FY26 guidance from Long Road was raised 9%. Guidance for CDC (40% of assets) was lowered, but CDC is still expected to double earnings (EBITDAF) to A$660m in FY27 from A$330m in FY25 due to 140MW of contract wins. Citi observes the stock trades at around a -30% discount to net asset value (NAV) versus a -14% historic average, suggesting valuation upside. Thus far, three Buy ratings.

JHX - James Hardie Industries BEAT 1 0 4/2/0 37.35 36.15 6

A stabilisation of market conditions and inventory levels moving back to more normal levels was the positive takeaway from James Hardie Industries' 1H26 results according to Morgans, with UBS also highlighting FY26 earnings (EBITDA) guidance was upgraded by 11% at midpoint, driven by stronger Siding & Trim sales, margin recovery, and better manufacturing efficiency. Ord Minnett reckons the guidance remains conservative given expected price increases and easing input costs, with a stronger trajectory for Azek earnings. Citi believes James Hardie Industries offers a low-risk exposure to a potential housing recovery as expectations look achievable through FY27, even without a major macro uplift. Four Buy ratings, including an upgrade from Accumulate, versus two Hold-equivalent ratings.

KMD - KMD Brands MISS 0 0 0/1/0 0.35 0.35 1

KMD Brands' FY25 group sales beat forecasts by NZ$6m, on higher Rip Curl and Oboz sales, partly offset by lower Kathmandu sales, but higher-than-forecast operating expenses spoiled the otherwise good news story. Lower gross margins equally contributed to earnings (EBITDA) coming in below UBS's forecast by -21%. Positively, inventory levels fell for the third year, and wholesale trends are improving. UBS (Neutral) has materially lowered forecasts.

360 - Life360 MISS 0 0 5/0/0 49.50 52.00 5

Life360 shares received a true shellacking following September-quarter results, with growth in monthly active users (MAU) missing expectations while revenue and earnings (EBITDA) proved stronger than expected. Ord Minnett considers 2025 and 2026 guidance for revenue and earnings conservative, and forecasts 8% December-quarter subscription growth versus management's implied 4%. UBS suggests the US$120m Nativo purchase may signal further low-margin ad-tech acquisitions, given it's supported by US$300m convertible raise. The company lifted FY25 revenue guidance to US$474-485m from US$462-482m, and adjusted EBITDA to US$85-88m from US$72-82m. Five brokers cover the stock and all have a positive rating.

LNW - Light & Wonder BEAT 0 0 5/0/0 187.83 180.40 5

Light & Wonder's quarterly performance generally beat expectations. Net profit proved over 10% better than expected, attributed to higher margins across all segments. Management reiterated 2025 earnings guidance. Morgans states there was a lot to commend Light & Wonder for in the 3Q2025 result, which quashed many of the market’s concerns over FY25 guidance. Margins are expected to moderate slightly due to mix and tariffs and this has triggered moderate reductions to forecasts (for some). UBS notes the result eases pressure on 4Q2025 earnings, which now require 16% growth to meet the lower end of guidance. Six brokers, six Buy ratings.

LTR - Liontown Resources MISS 1 0 1/1/4 0.62 0.93 6

Higher depreciation & amortisation, higher net interest charges and a writedown of non-cash inventory caused Liontown Resources' FY25 to fall well short of expectations. Post FY25, Liontown completed a $316m equity raising and $56m SPP, which should counter near-term liquidity concerns. Ord Minnett views FY26 as a transition year with the finalisation of open-pit mining by December and a transition to 100% underground operations. So far, three Sell ratings.

MQG - Macquarie Group MISS 1 0 1/4/0 225.77 222.20 5

Macquarie Group's H1 result missed market expectations with cash earnings of $1,655m falling short of consensus by some -11%. Revenues were largely in-line but higher costs (CGM spend, impairments) and tax weighed. Citi estimates roughly half the miss is caused by an impairment taken against green assets (-$152m pre-tax). Morgans highlights Macquarie missed its own guidance by -9% with increased investment spending in Commodities and Global Markets, as well as green asset writedowns and non-repeatable gains from a year earlier to blame. Management largely reiterated FY26 expectations and lifted the 2H skew. Subdued transaction volumes and softer trading conditions are expected to constrain near-term growth. Citi sees positives in balance sheet strength and capital flexibility, noting CET1 remains comfortably above regulatory requirements, supporting ongoing capital returns. Ord Minnett has upgraded to Buy. All four others stick to their Neutral/Hold ratings.

MYR - Myer MISS 0 1 1/1/0 0.93 0.72 2

Myer's first financial report including the acquired apparel assets from Premier Investments disappointed largely because of higher costs (CODB and others) and without a final dividend. Morgan Stanley (Buy) points out sales momentum has picked up with the trading update at 3.1% growth, better than expected but insufficient to offset the negative cost impacts "on sentiment and forecasts". This broker believes the launch of Myer Exclusive Brands and loyalty relaunch in October should support forecast sales growth for FY26 at 3.6% with an 80bps expected improvement in the gross margin. Ord Minnett estimates -$15–20m in additional costs will be embedded, while distribution centre issues reduced FY25 earnings by -$16m. Ord Minnett downgrades to Hold.

NAB - National Australia Bank MISS 0 2 0/3/3 36.54 37.49 6

National Australia Bank announced 2H25 earnings that missed expectations. Going into FY26, Morgans points out the bank is experiencing momentum in loan growth but also rising costs and some evidence of asset quality deterioration. Macquarie comments dividend sustainability concerns persist, though the FY26 payout appears secure amid improving deposit growth and stabilised mortgages. Citi highlights FY26 cost guidance of less than 4.6% growth exceeded the consensus estimate of 3% increase, raising cost concern. Management expects business credit growth of around 7.5% and housing loan growth of 6% for FY26. Earnings forecasts are mostly reduced. Ord Minnett has downgraded to Sell. Morgan Stanley has downgraded to Neutral/Hold. The other four are equally split between Neutral/Hold ratings and Sells. Morgan Stanley states the bank's earnings outlook and capital position are insufficient to drive further share price upside.

NHC - New Hope MISS 0 0 1/1/1 4.20 4.12 3

New Hope had pre-released FY25 financials but still managed to disappoint Bell Potter on the net profit. Macquarie was OK with the numbers but saw disappointment in the growth path presented by the company suggesting lower-than-expected coal production in FY26. The company lifted its stake in Malabar to 25.97% by buying an additional 3%. Forecasts have fallen, pulling down price targets. Macquarie downgrades to Sell, Bell Potter sticks with a Neutral/Hold rating.

NEM - Newmont Corp MISS 0 0 4/1/0 149.80 154.20 5

Newmont Corp's Q3 performance beat most forecasts on various metrics. It was 2026 production guidance that delivered disappointment, triggering downward revisions to forecasts. Analysts are not worried with some price targets rising and some suggesting next year offers potential for positive surprise. The gold price has risen a lot, of course, and forecasts remain buoyant. The company has deferred some capex into 2026. Ord Minnett believes the miner is progressing the performance of its assets, which should underpin a rise in production to 6moz by 2027. Morgans explains management is aiming at achieving higher volumes and lower costs (and is thus not worried). Four Buy-equivalents versus one Neutral/Hold rating.

NWS - News Corp BEAT 0 0 1/1/0 62.65 50.50 2

News Corp's quarterly slightly outperformed against analysts' forecasts, driven by the media conglomerate's two most important divisions; digital Real Estate and Dow Jones. The Books division underperformed, with EBITDA down -6% y/y due to a -US$13m receivable write-off, while Move exceeded expectations with 9% y/y revenue growth, the strongest since 2Q22. Morgan Stanley (Buy) highlights cost savings boosted Media earnings, which rose 67%. Macquarie (Neutral) points out the company ended the quarter with US$242m net cash and has accelerated its buybacks to US$2.5m/day, with US$1.2bn (8% of market cap) remaining.

NXG - NexGen Energy IN LINE 0 1 0/1/0 15.63 13.05 1

NexGen Energy reported a 3Q25 net loss of -CA$129m, mainly from a -CA$96m non-cash movement, ending the quarter with CA$306m in cash and net debt of CA$286m. Bell Potter highlights four signed offtake contracts and six more under negotiation above market pricing. The recent CA$949m equity raising will fund construction preparation and reduce the equity portion of the -CA$2.2bn project cost. Permitting is expected by February 2026 with construction to follow. Bell Potter lowers its target to $13.05 from $13.55 and downgrades to Speculative Hold from Speculative Buy.

NUF - Nufarm BEAT 2 0 2/2/0 3.06 3.03 4

Nufarm's FY25 result was weak, though slightly above guidance, and management issued an upbeat outlook. Material earnings growth and a reduction in leverage are expected for FY26. Morgans suggests pricing tailwinds may provide further upside and a strengthening of the balance sheet should remove previous equity raising concerns. Macquarie sees the strong FY26 growth outlook supported by improving agchem and fish-oil pricing. The decision to retain Seeds is seen as signalling both cyclical timing and limited buyer appetite. Citi sees upside risks to Omega-3 earnings and believes the CEO transition is unlikely to disrupt positive momentum. Thus far, two Buy ratings, including one upgrade, versus two Neutral/Holds, including one upgrade.

OCA - Oceania Healthcare IN LINE 0 0 1/0/0 0.00 0.00 1

Oceania Healthcare has battled through a tough period but it's interim result (March year-end) showed like-for-like earnings (EBITDA) up 23% as cost-out and improved Care execution lifted margins.Strong applications point to a solid 2H26 settlement profile. Macquarie (Buy) notes applications remain robust, supporting a solid lift in 2H settlement volumes, which should help clear stock and strengthen free cash flow and debt reduction.Target price rises to NZ$1.04 from NZ$0.99.

ORI - Orica BEAT 0 0 7/0/0 23.64 26.15 7

Orica's FY25 marked another year of strong earnings and cash flow growth amid improved margins and returns, reporting slightly better than forecasts. For FY26, management expects improved earnings across all three segments. Orica leads the industry with its technology and Morgans points out this is an area of high growth and high margins. The company also indicated the force majeure from CF Industries at Yazoo City in the US should not have a material impact on its customers. Citi has become more positive on Orica, noting the company's confidence in Blasting Solutions growth through FY26, supported by digital expansion and a stable supply outlook. Digital Solutions and Specialty Chemicals momentum is set to accelerate, with new Axis products doubling TAM and rising gold, copper, and critical minerals activity boosting demand. Seven out of seven Buy ratings.

PNR - Pantoro Gold BEAT 1 0 1/1/1 4.58 5.59 3

Bell Potter has upgraded Pantoro Gold to Hold from Sell with a lift in target price to $5.35 from $4.40 post FY25 results. The broker highlights the better financial performance, including a more robust balance sheet and a simplified capital structure for the miner. A US$12.5m convertible debt facility was closed with a 1:17 share consolidation. Management has reiterated the medium-term production target of 200kozpa-plus on mill filling to 1.4mtpa with a higher grade of 4.5g/t of gold.

PMV - Premier Investments IN LINE 0 0 4/2/0 25.23 23.78 6

Premier Investments' FY25 performance slightly beat or missed forecasts. Smiggles continues to struggle and downward pressure is expected to continue in FY26 (though the trend is improving) while Peter Alexander's roll out in the UK remains a loss-making endeavour. The 50c final dividend was a positive surprise. Morgan Stanley highlights management remains confident in Smiggle’s wholesale channel and continues to assess selective store growth, while M&A options could emerge from 2026. Ord Minnett points out the stock continues to trade at a sizable discount to the average ASX retailer. So far, two Buy ratings and two on Neutral/Hold.

QPM - QPM Energy IN LINE 0 0 2/0/0 0.11 0.11 2

The FY25 results from QPM Energy showed ongoing earnings improvement, with EBITDA rising to $9m from a loss of -$17m in FY24, and momentum continuing into FY26. Ord Minnett (Speculative Buy) expects earnings (EBITDA) of $28m. Free cash flow of $14m, excluding growth capex, was also viewed as "solid," although lease costs of -$53m impacted negatively. The analyst lowered earnings for the September quarter due to the delay in commencing Townsville Power Station and the seasonal impact of softer electricity prices. FY26 free cash flow is forecast by Ord Minnett at $17m, with electricity prices expected to firm over the warmer months, notably during the Dec and March quarters.

REA - REA Group IN LINE 1 0 4/2/0 270.32 255.88 6

REA Group's quarterly update was broadly in line with expectations. Morgans highlights 1Q26 included a robust yield result, up 13%, which countered the weaker new listings backdrop, with volumes falling -8% on the prior year, while group revenue advanced by 4% and earnings (EBITDA) ex associates rose 5% on the previous year. The first quarter had been telegraphed as a challenging period, which should ease as more favourable comps are cycled for the balance of FY26. Macquarie reckons it is too early to determine whether CoStar's acquisition of Domain or AI will be disruptive to REA Group. India losses are seen widening following the Housing Edge exit. UBS points to management's proactive AI integration, including new AI-driven property tools, and views its innovation and audience leadership as key competitive advantages. Recent commercial investments are expected to counter CoStar’s planned entry into Australia. Morgans has upgraded to join three others on Buy. Three others sit on Neutral/Hold.

RMD - ResMed IN LINE 0 0 6/0/0 49.07 49.01 6

ResMed's quarterly proved mostly in line with already robust forecasts, with the 62% gross margin (adjusted) a positive surprise. Macquarie comments the gross margin increase was driven by manufacturing and logistics efficiencies and component cost improvements. ResMed remains a preferred sector exposure for this broker. Morgan Stanley raises its EPS estimates by 2% for FY26 and 3% for FY27 and continues to view the medical device company as offering a positive growth outlook. Morgans sees upside to the upper end of FY26 margin guidance on new product releases and supply chain expansion. ResMed expects to conduct buybacks of US$150m in each quarter in FY26, an increase from US$100m in 4Q25. Ord Minnett is anticipating a net cash position of around US$1.9bn by the end of FY26, which offers capital management optionality. Six out of six Buy-equivalent ratings.

SHV - Select Harvests IN LINE 0 0 2/0/0 5.23 5.43 2

Bell Potter states the highlight of Select Harvests' FY25 results was a sharp improvement in cash flow and balance sheet. Operating cash flow was $138m vs negative -$12.6m in FY24, and net debt improved to $79.1m from $162.3m. The outlook is considered positive for FY26 pricing despite cost headwinds (water/bees/electricity). Ord Minnett observes the options are good in terms of the crop, no frost, stable costs and increasing global almond price. A return to average historical volumes is looking likely in FY26. Two Buy ratings.

SKO - Serko IN LINE 0 0 3/1/0 4.66 4.23 4

On balance, FNArena's daily monitored brokers considered the company reported inline results. UBS noted operating revenue and costs met expectations, boosted by a robust A&NZ performance for managed travel volumes as well as North American pricing. Forex was an additional tailwind. Macquarie highlighted the robust position of the core Australasian market, while expansion across the US and Europe is driven by the partnership with Booking.com and the recent acquisition of GetThere. This will be the main catalyst going forward to drive a re-rating. The outlook for 2H is somewhat mixed, with FY26 guidance viewed as conservative by Citi, but the period is usually seasonally lower for A&NZ and there would be a US government shutdown impact on GetThere. Thus far, two Buy ratings and one Hold rating.

STG - Straker MISS 0 0 0/1/0 0.38 0.37 1

Despite disappointing earnings and cash flow outcome in the first half, management at Straker re-affirmed FY26 guidance. Ord Minnett (Hold) highlights this would be the first time in 3.5 years revenue growth has turned positive in the second half. Key financial metrics were all down y/y as the business undergoes an AI-driven transition. While the broker is constructive on the outlook, it awaits further validation of the turnaround.

SM1 - Synlait Milk BEAT 0 0 0/1/2 0.59 0.72 3

More positives than negatives and a welcome recovery in operational metrics, such is the FY25 assessment of Macquarie, though risks (plural) remain and the broker retains its view the share price looks too high, hence Underperform rating retained. The broker cuts its FY26 and FY27 earnings forecasts by -20% and -15%, respectively. The target price rises to NZ59c from NZ41c on the net impact of the results update, North Island sale, in-sourcing by a2 Milk Co, and other changes.

TNE - TechnologyOne MISS 1 0 4/3/0 38.42 34.00 7

TechnologyOne's FY25 result proved better-than-guided on most financial metrics, but a slowing in annual recurring revenue (ARR), a stable margin (instead of increase) and the absence of specific FY26 guidance saw the share price take a -17% dive on the day. There remains plenty to like and the main discussion centres more about what price is fair? Morgans notes traction within the UK business continues to accelerate with management indicating the business is now benefiting from new customers and a move further upstream to larger local government and university business. Macquarie still envisages the long-term story is attractive although growth may weaken before it gets better. Three brokers have upgraded to Buy, three others stick with Neutral/Hold.

TUA - Tuas IN LINE 0 0 2/0/0 9.73 9.73 2

Tuas performed largely in line with forecasts in FY25 and the outlook now hinges on the potentially transformative M1 acquisition, with approval expected in coming months. A conference call with management left Citi more positive on the outlook (even though forecasts were lowered). Two brokers, two Buy ratings.

WEB - Web Travel BEAT 2 0 6/1/0 5.92 5.96 7

Web Travel reported 1H26 results largely as anticipated, as key financial metrics had been largely pre-announced. Morgan Stanley views the report as generally better versus moderate consensus expectations. Citi liked the margin improvement and solid TTV (total transaction value) growth in a volatile macro backdrop. Macquarie cites a higher level of confidence in achieving FY27 targets amid strong demand and industry trends. For Morgans, the FY26 guidance was a little stronger than expected and the outlook comments for FY27 were also considered as upbeat. UBS cautions Hotbeds appears willing to use pricing to accelerate volumes. Six Buy-equivalent ratings and one upgrade to Hold from Underweight (Sell-equivalent).

WJL - Webjet Group MISS 0 0 1/1/0 1.14 1.03 2

Webjet Group's weaker-than-expected 1H26 results, with earnings down -9% as reinvestment weighed on margins, was upstaged by a takeover proposal from Helloworld Travel ((HLO)), followed by a higher bid from BGH. For Morgans, operating cash flow disappointed, though net cash remains strong at $111.9m. A 2c dividend was declared. FY26 earnings guidance is cut to $30-32m (down -9-14% on FY25) as soft domestic leisure demand persists, while Locomote will lift revenue but trim earnings. One Buy rating versus one Hold.

WBC - Westpac IN LINE 0 0 0/2/4 33.37 34.48 6

Westpac released a mostly in-line FY25. Broker ratings remain either Sell (4x) or Neutral/Hold (2) because of an elevated valuation. UBS highlights the shares are still trading three standard deviations about their long term average. Macquarie argues underlying the performance was softer than forecast. CET1 capital ratio was robust, ending FY25 at 12.5%, but Morgans anticipates tighter capital and no buybacks are assumed until FY28. A more constructive Citi points to effective NIM management and productivity gains under the Fit for Growth program, offsetting higher investment. Ord Minnett suggests balance sheet strength was the key positive, with stressed loans declining to 1.28% (from 1.36% in H1) of total commitments and the CET1 ratio improving to 12.53%.

XRO - Xero MISS 0 0 6/0/0 211.17 200.05 6

Xero's FY26 missed forecasts and failed to quell skepticism regarding major acquisition Mello, which easily explains the subsequent share price weakness. UBS highlights higher capex from AI investments outweighed good operating cost control. Slightly weaker subscriber growth was offset by stronger ARPUs. Morgan Stanley highlights revenue guidance remains for more than doubling by FY28 and a return to the Rule of 40 that year from a decline next two years due to Melio-related losses. Morgans states it may take some time to build investor confidence in the value of Melio but it ultimately should improve the company's product offering and scale in North America. Thus far, five out of five Buy ratings.

Total: 49

ASX50 TOTAL STOCKS:

10

Beats

2

 20.0% 

In Line

3

 30.0% 

Misses

5

 50.0% 

Total Rating Upgrades:

4

Total Rating Downgrades:

2

Total target price movement in aggregate:

-1.61%

Average individual target price change:

-1.12%

Beat/Miss Ratio:

0.40

ASX200 TOTAL STOCKS:

31

Beats

11

 35.5% 

In Line

8

 25.8% 

Misses

12

 38.7% 

Total Rating Upgrades:

11

Total Rating Downgrades:

4

Total target price movement in aggregate:

-0.28%

Average individual target price change:

0.99%

Beat/Miss Ratio:

0.92

Yet to Report

Indicates that the company is also found on your portfolio

SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/01'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/01'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Monday
1 December

1H26 Earnings


SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/02'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/02'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Tuesday
2 December

1H26 Earnings


SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/03'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/03'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Wednesday
3 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/04'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/04'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Thursday
4 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/05'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/05'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Friday
5 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/08'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/08'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Monday
8 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/09'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/09'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Tuesday
9 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/10'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/10'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Wednesday
10 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/11'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/11'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Thursday
11 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/12'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/12'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Friday
12 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/15'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/15'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Monday
15 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/16'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/16'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Tuesday
16 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/17'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/17'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Wednesday
17 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/18'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/18'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Thursday
18 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/19'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/19'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Friday
19 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/22'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/22'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Monday
22 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/23'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/23'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Tuesday
23 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/24'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/24'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Wednesday
24 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/25'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/25'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Thursday
25 December
SELECT calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone, max(p.portfolioID) as portfolioID,
sec.sector,CASE WHEN (sec.sectorurl IS NULL OR sec.sectorurl = '')
THEN 'sector'
ELSE sec.sectorurl
END as SectorURL   
FROM (
select seasonReport,calendarID, source, externalID, title, symbol, itemdate, isDisplayed, 1 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/26'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol != '')
UNION
select seasonReport,calendarID, source, externalID, title, type AS symbol, itemdate, isDisplayed, 0 as display, timezone
from calendar c left join countrycode cc on c.type = cc.code
where convert(varchar(10),itemDate,111) = '2025/12/26'
AND isDisplayed = 1
AND seasonReport = 1
AND (symbol = '') 
) AS calendar
left join (select p.* from portfolio p inner join customerportfolio cp on p.CustomerPortfolioID = cp.CustomerPortfolioID where cp.customerid = '' and cp.archived is NULL) 
p on calendar.symbol = p.symbol
LEFT JOIN (SELECT sr.symbol, s.sector,s.sectorID,dbo.RemoveNonAlphaCharacters(s.sector) as sectorurl FROM sector s 
INNER JOIN SectorRelationship sr on s.sectorID = sr.sectorID 
WHERE isPriority = 1) AS sec on calendar.symbol = sec.symbol
GROUP BY calendar.calendarID,calendar.source,calendar.externalID,
calendar.title,calendar.symbol,calendar.itemdate,calendar.isDisplayed,
calendar.display,calendar.timezone,sec.Sector,sec.sectorurl
ORDER BY calendar.display, calendar.timezone desc, calendar.symbol, calendar.title 
Friday
26 December

Listed Companies on the Calendar

Date Code
02/12/2025CKF1H26 Earnings
Date Code
01/12/2025MTS1H26 Earnings