{{CompanyOverview.profileInfo.companyNameEn}}
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
Ticker |
Price |
Change |
|
{{CompanyOverview.profileInfo.ticker}} |
{{formatter.format(CompanyOverview.prices[0].closeValue)}} |
{{formatter.format(CompanyOverview.prices[0].change)}} |
{{formatter.format(CompanyOverview.prices[0].percentageChange)}}% |
O: {{formatter.format(CompanyOverview.prices[0].openValue)}} |
H: {{formatter.format(CompanyOverview.prices[0].high)}} |
L: {{formatter.format(CompanyOverview.prices[0].low)}} |
C: {{formatter.format(CompanyOverview.prices[0].closeValue)}} |
| |
{{CompanyOverview.prices[0].tradingDate}} |
(15 mins delay)
View chartMarket Data
Market Value {{formatter.format(CompanyProfile.stockInfo.marketValue)}}
Turnover {{CompanyOverview.companyStockSummary.amount < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.companyStockSummary.amount))+ ')' : formatter.format(CompanyOverview.companyStockSummary.amount)}}
Prev.Close {{formatter.format(CompanyOverview.companyStockSummary.previousCloseValue)}}
Open {{CompanyOverview.companyStockSummary.openValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.companyStockSummary.openValue))+ ')' : formatter.format(CompanyOverview.companyStockSummary.openValue)}}
Low {{CompanyOverview.companyStockSummary.low < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.companyStockSummary.low))+ ')' : formatter.format(CompanyOverview.companyStockSummary.low)}}
High {{CompanyOverview.companyStockSummary.high < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.companyStockSummary.high))+ ')' : formatter.format(CompanyOverview.companyStockSummary.high)}}
Volume {{CompanyOverview.companyStockSummary.volume < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.companyStockSummary.volume))+ ')' : formatter.format(CompanyOverview.companyStockSummary.volume)}}
Average Volume
(3M)
{{formatter.format(CompanyOverview.companyStockSummary.avgVolume3Months)}}
Average Turnover
(3M)
{{formatter.format(CompanyOverview.companyStockSummary.avgTurnover3Months)}}
Transactions {{CompanyOverview.companyStockSummary.contractCount < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.companyStockSummary.contractCount))+ ')' : formatter.format(CompanyOverview.companyStockSummary.contractCount)}}
Average Transactions
(3M)
{{formatter.format(CompanyOverview.companyStockSummary.avgTransactions3Months)}}
Last Trade {{formatter.format(CompanyOverview.companyStockSummary.closeValue)}}
Change
3 Months {{CompanyOverview.companyStockSummary.month3Change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.companyStockSummary.month3Change))+ ')' : formatter.format(CompanyOverview.companyStockSummary.month3Change)}} %
6 Months {{CompanyOverview.companyStockSummary.month6Change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.companyStockSummary.month6Change))+ ')' : formatter.format(CompanyOverview.companyStockSummary.month6Change)}} %
12 Months {{CompanyOverview.companyStockSummary.ytdChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.companyStockSummary.ytdChange))+ ')' : formatter.format(CompanyOverview.companyStockSummary.ytdChange)}} %
Year to date {{CompanyOverview.companyStockSummary.ybgnChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.companyStockSummary.ybgnChange))+ ')' : formatter.format(CompanyOverview.companyStockSummary.ybgnChange)}} %
Rating | Resarch Firm | Target |
---|---|---|
{{formatDate(new Date(analystOpinion.forDate))}} |
||
{{analystOpinion.currentOpinionEn}} | {{analystOpinion.brokerNameEn}} | {{analystOpinion.currentPrice}} |
Contact IR
Address
Investor Relations Dept.
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
Business
Overview
Financials Highlights (M Riyal)
Description |
Chart |
{{year}} |
---|---|---|
{{financialHighlight.DisplayNameEn}} |
|
{{financialHighlight[year] < 0 ? '(' + formatter.format(Math.abs(financialHighlight[year])) + ')' : formatter.format(financialHighlight[year])}} |
Trading Data
Stock Information
Major Shareholders
Name |
Number of Shares (M) |
Holding |
{{majorShareholde.shareholderNameEn}} |
{{formatter.format(majorShareholde.noOfShares)}} |
{{formatter.format(majorShareholde.percentage)}} % |
Milestones
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
{{CompanyOverview.profileInfo.companyNameEn}}
FINANCIALS HIGHLIGHTS (M RIYAL)
Date |
Price |
Change |
Change (%) |
Volume |
Turnover |
Open |
High |
Low |
---|---|---|---|---|---|---|---|---|
{{formatDate(new Date(charts_Data.forDate))}} |
{{formatter.format(charts_Data.close)}} |
{{ charts_Data.change < 0 ? '(' + formatter.format(Math.abs(charts_Data.change)) + ')' : formatter.format(charts_Data.change) }} |
{{ charts_Data.percentageChange < 0 ? '(' + formatter.format(Math.abs(charts_Data.percentageChange)) + ')' : formatter.format(charts_Data.percentageChange) }}% |
{{formatter.format(charts_Data.volume)}} |
{{formatter.format(charts_Data.amount)}} |
{{charts_Data.open}} |
{{charts_Data.max}} |
{{charts_Data.min}} |
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
At Savola, yearly profit are a key measure of our success. Our earnings presentations provide investors with detailed facts and figures, alongside useful analysis and commentary. We trust that this will reassure investors and shareholders that we are using their capital efficiently.
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
{{businessSegmentsDefinition.businessSegmentNameEn}} |
{{businessSegmentsDefinition.definitionEn}} |
{{geoLocationSegmentsDefinition.geoLocationSegmentNameEn}} |
{{geoLocationSegmentsDefinition.definitionEn}} |
|
{{parseAndFormatDateDDMMYYYY(period.forDate)}} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Details | Million {{CompanyBusinessSegments.currency.toUpperCase()}} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{tab.fsFieldNameEn}} | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{field.businessSegmentNameEn}}
|
{{val.value < 0 ? '(' + formatter.format(val.value * -1) + ')' : formatter.format(val.value)}} |
|
{{parseAndFormatDateDDMMYYYY(period.forDate)}} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Details | Million {{CompanyGeolocationSegments.currency}} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{tab.fsFieldNameEn}} | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{field.geoLocationSegmentNameEn}}
|
{{val.value < 0 ? '(' + formatter.format(val.value * -1) + ')' : formatter.format(val.value)}} |
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
|
{{CompanyAnalystEstimates.fiscalPeriodType == 'year' ? value.forYear : parseAndFormatDate(value.forDate)}} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Details | Million Riyal | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{tab.fsFieldCategoryNameEn}} | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{field.fsFieldNameEn}}
|
(e): {{val.estimatedValue < 0 ? '(' + formatter.format(val.estimatedValue * -1) + ')' : formatter.format(val.estimatedValue)}} (a): {{val.actualValue < 0 ? '(' + formatter.format(val.actualValue * -1) + ')' : formatter.format(val.actualValue)}} |
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
Date |
First Party |
Second Party |
Related Parties |
Value |
Type |
Status |
More |
---|---|---|---|---|---|---|---|
{{mergerAcquisition.announcedOn}} |
{{mergerAcquisition.acquirers.map(function(elem){ return elem.companyNameEn; }).join(", ")}} |
{{mergerAcquisition.targets.map(function(elem){ return elem.companyNameEn; }).join(", ")}} |
{{mergerAcquisition.relatedCompanies.map(function(elem){ return elem.companyNameEn; }).join(", ")}} |
{{formatter.format(mergerAcquisition.acquisitionValue)}} {{mergerAcquisition.acquisitionValueCurrency}} |
{{mergerAcquisition.acquisitionTypeNameEn}} |
{{mergerAcquisition.acquisitionStatusNameEn}} |
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
At Savola, we are writing our company’s success story each and every day. Annual reports track our progress year by year. They demonstrate our vision for the future and how we are working to make it a reality. They document our profits and growth, and describe the challenges we have overcome. On this page, you will find links to annual reports dating back to 2003, as well as compliance requirements with the rules and regulations. We trust that they will provide investors and all readers with a clear overview of where we come from and what the future holds for us.
Annual Report 2021 ( Interactive Version)
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
CAPITAL CHANGES
RECENT CHANGES
Previous Capital
{{formatter.format(CorporateActions.capitalChanges.currentCapital)}}
Previous No. of Shares (M)
{{formatter.format(CorporateActions.capitalChanges.currentShares)}}
Capital Change
{{ formatter.format(((CorporateActions.capitalChanges.newCapital / CorporateActions.capitalChanges.currentCapital) - 1) *100)}} %
Current Capital (M Riyal)
{{formatter.format(CorporateActions.capitalChanges.newCapital)}}
Current No. of Shares (M)
{{CorporateActions.capitalChanges.newShares}}
Type
{{CorporateActions.capitalChanges.companyCapitalStatusNameEn}}
Announcement
{{formatDate(new Date(CorporateActions.capitalChanges.announcedDate))}}
Note
{{CorporateActions.capitalChanges.notesEn}}
Historical Dividends
Announcement |
Ex-Dividend |
Payment |
Dividends (M Riyal) |
Dividends |
Notes |
{{parseAndFormatDate(capitalDividend_history.dividendAnnouncedDate)}} |
{{parseAndFormatDate(capitalDividend_history.dividendDueDate)}} |
{{parseAndFormatDate(capitalDividend_history.dividendDate)}} |
{{formatter.format(capitalDividend_history.cashDividend)}} |
{{formatter.format(capitalDividend_history.cashDividendPerShare)}} |
{{capitalDividend_history.notesEn}} |
{{CompanyOverview.prices[0].closeValue < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].closeValue))+ ')' : formatter.format(CompanyOverview.prices[0].closeValue)}}
{{CompanyOverview.prices[0].change < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].change))+ ')' : formatter.format(CompanyOverview.prices[0].change)}}
{{CompanyOverview.prices[0].percentageChange < 0 ? '(' +formatter.format(Math.abs(CompanyOverview.prices[0].percentageChange))+ ')' : formatter.format(CompanyOverview.prices[0].percentageChange)}}
Email: IR@savola.com