Botswana Stock Exchange logo
Botswana Stock Exchange: public dashboard
Integrated Report FY2025 · governed data, evidence-linked
Dashboard version 0.1 Scope · All pages, evidence layer Last verified · 8 Sep 2026
←

Evidence layer for the whole dashboard

Uncertainty travels with the data

Every metric here has a source page, a verification status and, where sources disagree, a governed decision. This is a public product feature, not a hidden disclaimer.

Dashboard version 0.1 Scope: All pages, evidence layer Verified 8 Sep 2026

Reconciliation register at a glance

26
Catalogued in register
7
Resolved to canonical value
10
Open: hypothesis / no canonical value
9
Resolved by policy, scope, rounding or period fix

Phase A blind review and Phase B comparison are complete for all 26 cases. This case-level count is different from, and not comparable to, the individual-observation counts below: a single case (e.g. R007) can govern several observations.

Verification-status legend

Verified Provisional Under review Derived Unavailable Forward-looking
Status Meaning
Verified original PDF page, value, unit, period, entity and scope checked (per year)
Provisional source calls it provisional / placeholder, or original-year coverage is outside the project; visual transcription does not remove this
Under review two sources conflict, or scope / period / definition is unclear; withheld from headline cards
Derived dashboard calculation: formula, inputs and rounding exposed; no more reliable than its least reliable input
Unavailable not reported / not loaded / unsafe to calculate; shown as an explicit state, never zero
Forward-looking targets and plans, never combined with achieved results

Governed observations (individual data points)

Governed observations

357

Canonical (selected value)

247

Public (approved for display)

340

Provisional

100

Withheld from trend

12

Restricted display

5

"Withheld" (mart_withheld) and "restricted" (mart_restricted) are two separate governed tables with different treatment: withheld observations are excluded from trends entirely; restricted observations may still display with a scope/method label. They are not the same population and are shown as two separate counts, not combined.

Canonical vs public: what the two views mean

Two different questions, and neither view contains the other:

View Rows Means
Canonical 247 the single observation explicitly selected as the analytical value for a metric / period / scope
Public 340 every observation approved for public display (any PUBLISH* status)

public − canonical = 93 rows: provisional historical comparatives for FY2018-FY2021. BSE reports these pre-2022 points only in later five-year / comparative tables, so the dashboard shows them (hollow / hatched, dashed connectors, provisional badge) but they are not canonical selections. They are not rejected conflicts, restricted rows or duplicate keys.

Governed reconciliation register (R001-R026)

All 26 governed cases; new cases begin as "hypothesis, not yet established as fact"
IDCanonical decisionReasonPublic treatmentStatus
R001 Use FY2024 P1,660,061,437.85 / P1,660.1m Original-year detailed report outranks 2025 summary comparator PUBLISH Resolved
R002 Use FY2024 P6.7m Original-year detailed report corroborates repeated detailed tables PUBLISH Resolved
R003 No canonical FY2025 velocity 9.9% and 8.5% lack reconcilable definitions WITHHOLD / SCORECARD-ONLY Open / hypothesis
R004 Use original-year reported 3.3%; retain 3.1% closing-cap calculation separately Likely denominator timing difference PUBLISH_WITH_WARNING Resolved
R005 No canonical FY2025 retail-share point 15.1% conflicts with 4.5% WITHHOLD Open / hypothesis
R006 Use FY2024 local-individual share 11.6% Original-year report corroborates scorecard PUBLISH_WITH_WARNING Resolved
R007 No single FY2025 debt total; retain 117, 121 and 122 with scopes Debt-population figures refer to different source contexts and denominators; retaining scoped figures avoids a false merged total. RESTRICTED_DISPLAY Open / hypothesis
R008 No canonical maturities count 56 conflicts with 57 WITHHOLD Open / hypothesis
R009 Use distinct issuer, equity-counter and product-inclusive metric IDs Arithmetic is explainable when populations are named PUBLISH_SCOPED Resolved
R010 Audited revenue and strategy revenue index are separate metrics Audited revenue is a Pula financial-statement measure; the strategy revenue index is a separately defined scorecard construct with a different scope and denominator. PUBLISH_SEPARATELY Resolved
R011 Retain each exact target label and horizon 10% and 25% may describe different horizons/constructs RESTRICTED_DISPLAY Open / hypothesis
R012 Primary ROE = PAT / average equity; closing-equity ROE is supporting PAT divided by average opening and closing equity reproduces the reported 12.3%; closing-equity ROE remains a separately labelled supporting basis. PUBLISH_WITH_METHOD_NOTE Resolved
R013 Original-year flags removed for verified 2022-2024 points 2021 remains later-comparative provenance MIXED Partly resolved
R014 Use restated FY2023 PAT P24,938,848 2024 audited restatement explains original P26,433,048 PUBLISH Resolved
R015 Preserve published risk title plus working label Duplicate heading remains RESTRICTED_DISPLAY Open / hypothesis
R016 Keep committee populations and names separately scoped Five/six and naming differences remain RESTRICTED_DISPLAY Open / hypothesis
R017 Use visually located 3.6 only Candidate 3.8 is unverified PUBLISH_STANDALONE Partly resolved
R018 Use 30.3% from exact audited amounts 30.4% arises from rounded headline figures PUBLISH Resolved
R019 Audited cash totals publish; component relabel withheld Cash bridge classification remains unclear PARTIAL Open / hypothesis
R020 Keep composition and attendance populations separate Seven vs eight may reflect timing/capacity RESTRICTED_DISPLAY Open / hypothesis
R021 Use FY2022 velocity 2.9% Original 2022 table and 2023 table agree; 4.9% prose is erroneous PUBLISH_WITH_NOTE Resolved
R022 Assign 8.5% to FY2023 Original 2023 report confirms period PUBLISH_WITH_NOTE Resolved
R023 Use FY2022 closing cash resources P112,722,445; retain P112,722,304 as a conflicting opening balance Four visual confirmations support P112,722,445. P112,722,304 appears once as an unexplained opening balance and is not labelled as a restatement. PUBLISH_WITH_METHOD_NOTE Resolved
R024 Map 1,709.8 LASI to FY2023 Narrative sequence and 2024 comparator corroborate period PUBLISH_WITH_NOTE Resolved
R025 Preserve components; publish 0.9-point reconciliation gap as DQ note Printed components sum 99.1% while total says 100.0% PUBLISH_WITH_WARNING Open / hypothesis
R026 Use FY2022 DCI 7,726.4; retain 7,710.06 as conflicting later-summary evidence The 2022 and 2023 Annual Reports agree at 7,726.4; the 2025 five-year table reports 7,710.06 without a reconciliation note. PUBLISH_WITH_METHOD_NOTE Resolved

The cases carried on every affected chart

ID Metric Governed outcome
R023 FY2022 closing cash resources Use P112,722,445. Retain P112,722,304 as a disclosed, immaterial P141 source inconsistency.
R026 FY2022 DCI Use 7,726.4 (2022 & 2023 Annual Reports agree). The 2025 five-year table's 7,710.06 is excluded from the trend and kept only in the evidence layer.
R025 FY2024 investor mix Printed components sum to 99.1%, not the printed 100.0%. Components are preserved, not renormalised; the 0.9-point gap is published as a data-quality note.
R003 / R005 FY2025 velocity / retail share No canonical value; withheld from ordinary trends.
R007 Year-end listed debt instruments 117 / 121 / 122 kept as separate scoped variants, never one total.

Restatements

No Results

The FY2023 original PAT (P26,433,048) and restated PAT (P24,938,848) remain linked, not overwritten.

Historical availability

Metric family20182019202020212022202320242025
BSE Group financials N/AN/AN/APartialAvailableAvailableAvailableAvailable
Counter performance N/AN/AN/AN/AAvailableAvailableAvailableN/A
Coverage gap N/AN/AN/AN/AN/AN/AAwait sourceAwait source
Debt market N/AN/AN/AProvisionalAvailableAvailableAvailableAvailable
Equity indices N/AN/AN/AProvisionalAvailableAvailableAvailableAvailable
Investor participation ProvisionalProvisionalProvisionalProvisionalAvailableAvailableAvailableAwait source
Market performance ProvisionalProvisionalProvisionalProvisionalAvailableAvailableAvailableAvailable
Market valuation ProvisionalProvisionalProvisionalProvisionalAvailableAvailableAvailableAwait source
Strategy N/AN/AN/AN/AN/AN/AN/AAvailable

"N/A" marks a family/year with no recorded observation at all; either the metric or programme did not yet exist for that year, or the year predates this dashboard's extraction scope. It is never used to mean "missing" for a year the family is otherwise tracked in.

Full availability detail (canonical/provisional observation counts, all 45 rows) →
No Results

Use "not applicable", not "missing", where a series (e.g. the 10X scorecard) did not yet exist.

Metric dictionary

No Results

Source register

No Results

Every chart and table on this dashboard exposes its source document, PDF page and table label.

Source hierarchy

Source hierarchy

  • Latest audited financial statement or audited restated comparative: Financial statements
    Canonical
  • Original-year detailed market table: Market, participation, indices, valuation, debt
    Canonical unless internally inconsistent
  • Current-year detailed performance narrative/table: Current-year operational metric
    Canonical when scope is explicit
  • Strategy scorecard: Strategy KPI only
    Never substitute for audited/market metric without definition
  • Later five-year summary: Cross-check / provenance
    Not canonical when an original-year source is available
  • Headline/business-model summary: Communication layer
    Rejected when it conflicts with detailed source
  • Derived calculation: Analytical check
    Publish only with formula/basis label

A hierarchy resolves precedence, not differently-defined measures.

Known limitations

  • Text-layer extraction identifies possible issues; it does not verify them
  • "Both sources verified" confirms transcription, not resolution
  • A derived value cannot be more reliable than its least reliable input
  • Hierarchy rank does not override a genuine definition conflict
Full source-hierarchy register (all 7 ranks) →
No Results

Downloads

Verified and provisional data are never mixed without row-level flags
✓
Verified dataset

Publication-ready observations only

◐
Complete flagged dataset

All data with status & caveats

⚑
Reconciliation Register

Full evidence record

📖
Metric dictionary

Definitions & formulas

🔗
Source register

Document & page mapping

🕘
Change log

Corrections & status transitions

Two datasets are specified. They are not built or published in this local development stage.

  1. Verified dashboard dataset: publication-ready observations only (bse_mart_download_public, 340 rows).
  2. Complete flagged dataset: every observation with status, reconciliation ID, caveat and publication treatment (bse_mart_download_flagged, 357 rows).

Provisional and verified data are never mixed without row-level flags.

Revision history of this release

  • v1.0: approved canonical release (4 Sep 2026).
  • v1.0.1: metadata correction (5 Sep 2026): seven MISSING rows set non-provisional; generic conflict wording removed. No numeric change.
  • v1.0.2: controlled augmentation (6 Sep 2026, owner-approved): three directly-reported page-40 total-market-turnover observations added (FY2025 P9.3bn, FY2024 P7.9bn, +18.1%). The 354 v1.0.1 rows are unchanged; v1.0.1 is retained as audit history.

▤  This page explains uncertainty; it is not the only place it appears. Chart-level warnings on Pages 1-6 link back here. Canonical release bse_canonical_v1_0_2 · database status approved · approved_by = "Thegreat P. Malema" (2026-09-08). Disclosure layer A2_VERIFIED. Dashboard deployment and publication are governed separately, under GATE B (Phase 10-11).