{"id":221,"date":"2026-10-11T06:41:32","date_gmt":"2026-10-11T05:41:32","guid":{"rendered":"https:\/\/arrowlancer.ma\/blog\/?p=221"},"modified":"2026-10-11T06:41:32","modified_gmt":"2026-10-11T05:41:32","slug":"bi-dashboard-adoption-morocco-2026-mistakes","status":"publish","type":"post","link":"https:\/\/arrowlancer.ma\/blog\/en\/bi-dashboard-adoption-morocco-2026-mistakes\/","title":{"rendered":"BI dashboard adoption Morocco: 4 mistakes to avoid in 2026"},"content":{"rendered":"<p>An auto parts distributor in Casablanca commissions eight Power BI screens: sales by product family, margin by customer, stock rotation, receivables ageing. Acceptance is signed with no reservations, training runs two hours, everyone leaves with a login. Six weeks later the sales director still builds his Monday meeting from an Excel export he cleans by hand, and the management accountant is back on his own margin file.<\/p>\n<p>The case is a composite, assembled from situations that recur rather than taken from one client, but the failure mode is real and common. BI projects almost never die on a technical defect. They die because a few weeks after go-live, nobody has a compelling reason to open the thing.<\/p>\n<p>The four causes behind that are visible before signature, and each one turns into either a clause in the quote or a check you run 30 days after go-live.<\/p>\n<h2>Three months in, Excel is back<\/h2>\n<p>The drift back to spreadsheets happens gradually. Someone &#8220;checks&#8221; a dashboard number in Excel, then keeps the checking file because it filters faster, then runs the meeting off that file. A quarter later the dashboard has one remaining function: reassuring management that it exists.<\/p>\n<p>What makes this hard to spot is that an abandoned dashboard generates no tickets. The provider hears nothing and reads the silence as success. Meanwhile a connection drops, a default filter stays stuck on last year, a new item family created in the ERP maps to no grouping. Nobody reports any of it, because nobody depends on it.<\/p>\n<p>Tool choice has very little to do with it. The <a href=\"https:\/\/arrowlancer.ma\/blog\/en\/excel-vs-power-bi-morocco-2026\/\">Excel versus Power BI<\/a> argument belongs before the project starts. When the spreadsheet comes back after delivery, the problem is no longer a tooling problem.<\/p>\n<h2>The deliverable is the decision, not the dashboard<\/h2>\n<p>If you want to know why a dashboard fails, the answer is almost always in the sentence that never made it into the spec: which decision is this screen supposed to support, who makes it, and at what point in the week or the month.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/storage.googleapis.com\/arrowlancer-prod.firebasestorage.app\/blog-ma\/adoption-tableau-de-bord-bi-maroc-2026\/1.jpg\" alt=\"BI dashboard adoption Morocco: 4 mistakes to avoid in 2026\" loading=\"lazy\" \/><\/p>\n<p>A usable formulation looks like this: &#8220;Monday 9am, sales committee, decide which customers to chase this week.&#8221; That sentence constrains everything else. It forces the data to be current on Monday morning, not Tuesday. It forces a ranked customer list rather than a revenue curve. It names a specific user instead of &#8220;management&#8221;.<\/p>\n<p>The reverse holds too. A metric that feeds no identified decision does not need to be built. That is unwelcome news after three workshops spent defining it, but it will cost more to maintain than it ever returns.<\/p>\n<h2>Mistake 1: building the request instead of the decision<\/h2>\n<p>A client asks for &#8220;revenue by sales rep by month&#8221;. The provider delivers exactly that, correctly. The real question behind the request was which reps are behind their annual target and how much time they have left to catch up. That is a different screen. The first one gives history, the second one needs a target, a time pro rata and a gap.<\/p>\n<p>An experienced provider asks twice: what you want to see, then what you will do differently depending on what you see. When there is no answer to the second question, that belongs in the scoping conversation, not in acceptance testing.<\/p>\n<h2>Mistake 2: nobody owns the dashboard after go-live<\/h2>\n<p>In most BI quotes the provider&#8217;s responsibility ends when the acceptance report is signed. On the client side it often never started. So when the chart of accounts changes, when a rep leaves, when the ERP adds a field or a new product line appears, nobody has the mandate to update the model.<\/p>\n<p>The owner has to be a named internal person, written into the quote or the scoping minutes. The job itself is small: validate the numbers once a month, arbitrate requests for new metrics, escalate the gaps they cannot explain, and delete the screens nobody uses. Roughly an hour a month, owned by somebody with standing on the subject.<\/p>\n<p>A management accountant usually fits this role better than an IT manager, because the question that kills adoption is a question of definitions, not of queries.<\/p>\n<h2>Mistake 3: the numbers contradict what people already calculate<\/h2>\n<p>This is the brutal one. The day the sales director sees MAD 4.2m on the screen and MAD 4.35m in his file, he does not go looking for the explanation. He goes back to his file. And he is right to be suspicious, because a single unexplained gap is enough to discredit the other seven screens.<\/p>\n<p>Almost always the gap is not a calculation error but a definition difference. Is revenue invoiced or collected? Are credit notes deducted from the month of the original invoice or the month of the credit note? Are end-of-year rebates accrued into monthly margin? Are foreign-currency invoices converted at the daily rate or the closing rate? Invoice date or delivery date?<\/p>\n<p>The countermeasure is a boring, decisive document: a metric dictionary, one line per KPI, with the plain-language definition, the source, the calculation rule and the exclusions. Then a reconciliation step, where across three closed months the screen and the legacy file land on the same amount or the gap gets explained in writing. That is precisely what a <a href=\"https:\/\/arrowlancer.ma\/blog\/en\/data-quality-audit-morocco-2026-before-bi-ai\/\">data quality audit before a BI project<\/a> is meant to surface, and it is also where most <a href=\"https:\/\/arrowlancer.ma\/blog\/en\/data-integration-morocco-2026-cost-timeline-pitfalls\/\">source integration timelines<\/a> slip.<\/p>\n<h2>Mistake 4: too many KPIs, no hierarchy<\/h2>\n<p>A dashboard in a Moroccan SME does not need forty KPIs to be useful, and it becomes unreadable long before it gets there. When a screen shows twenty numbers in the same size, the reader cannot tell which one to look at first, so they look at none of them.<\/p>\n<p>The rule that survives contact with real users: a first page with five to seven numbers at most, the ones that trigger an action, each with a comparison (target, previous month, same month last year). Everything else lives one click down. Scoping workshops naturally produce a list of thirty metrics, and the provider&#8217;s job is to cut it rather than ship it.<\/p>\n<p>Quick test: if you cannot say straight away what you would do tomorrow morning depending on a metric&#8217;s colour, it does not belong on the first page.<\/p>\n<h2>BI dashboard adoption Morocco: what to write into the quote<\/h2>\n<p>All four points are negotiable before signature, and usually at the same budget, because they move effort around rather than adding it. What to get in writing:<\/p>\n<ul>\n<li>the list of decisions the dashboard serves, each with its user, its ritual (Monday meeting, monthly close) and the data freshness it needs;<\/li>\n<li>a named internal owner, and a named contact on the provider side rather than a generic support address;<\/li>\n<li>a metric dictionary as a delivered, signed-off artefact, plus a reconciliation over three closed months against the files people use today;<\/li>\n<li>a written hierarchy constraint: one entry page, seven metrics maximum, detail at the second level;<\/li>\n<li>a 30-day adoption review, priced in the quote, based on real usage figures;<\/li>\n<li>how source changes are handled (new ERP field, new product nomenclature): fixed price, time and materials, or included in maintenance;<\/li>\n<li>ownership of the data model and the reports, and the procedure if you change provider.<\/li>\n<\/ul>\n<p>If budget is the sticking point, two screens people actually use beat eight correct ones. A <a href=\"https:\/\/arrowlancer.ma\/blog\/en\/bi-dashboard-cost-morocco-2026-pricing-guide\/\">BI dashboard budget in Morocco<\/a> holds together far better when scope is set by the decisions to be made than by the number of reports promised.<\/p>\n<h2>What to check 30 days after go-live<\/h2>\n<p>If the project is already live, adoption is something you measure rather than estimate. Power BI, Looker Studio and Metabase all expose usage statistics. Ask for them, then ask five questions.<\/p>\n<ul>\n<li>How many distinct users opened the report last week (not since go-live)?<\/li>\n<li>Who still rebuilds a manual export, and for which meeting?<\/li>\n<li>How many &#8220;this number is wrong&#8221; remarks came in, and how many got a written answer?<\/li>\n<li>Has any screen been deleted since delivery? If nothing has ever been removed, nobody is governing the tool.<\/li>\n<li>Has the target decision been made at least once in a meeting straight from the screen, with no export first?<\/li>\n<\/ul>\n<p>Two regular active users out of five decision-makers are worth more than thirty accounts created and never opened. BI adoption in an SME rests on a handful of people, and those people have names.<\/p>\n<h2>If the dashboard is already live<\/h2>\n<p>An abandoned report rarely needs rebuilding from scratch. In many cases a week of work is enough to rebuild the first page around two decisions, write the metric dictionary and reconcile the amounts against the reference files. That is how we scope <a href=\"https:\/\/arrowlancer.ma\/en\/#services\">data work (dashboards, pipelines, BI, data quality)<\/a> at Arrowlancer: decisions first, a named owner before go-live, and a 30-day adoption check inside the engagement. If you have a BI quote on the table or a dashboard nobody opens any more, <a href=\"https:\/\/arrowlancer.ma\/en\/#contact\">get in touch<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A technically correct BI dashboard can die in six weeks. The four mistakes that kill adoption, and what to put in the quote before you sign it.<\/p>\n","protected":false},"author":0,"featured_media":222,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[132,135,138,75,141],"class_list":["post-221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech_et_development","tag-bi-en","tag-dashboard-en","tag-data-en","tag-morocco-smes-en","tag-power-bi-en"],"_links":{"self":[{"href":"https:\/\/arrowlancer.ma\/blog\/wp-json\/wp\/v2\/posts\/221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arrowlancer.ma\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arrowlancer.ma\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/arrowlancer.ma\/blog\/wp-json\/wp\/v2\/comments?post=221"}],"version-history":[{"count":1,"href":"https:\/\/arrowlancer.ma\/blog\/wp-json\/wp\/v2\/posts\/221\/revisions"}],"predecessor-version":[{"id":224,"href":"https:\/\/arrowlancer.ma\/blog\/wp-json\/wp\/v2\/posts\/221\/revisions\/224"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/arrowlancer.ma\/blog\/wp-json\/wp\/v2\/media\/222"}],"wp:attachment":[{"href":"https:\/\/arrowlancer.ma\/blog\/wp-json\/wp\/v2\/media?parent=221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arrowlancer.ma\/blog\/wp-json\/wp\/v2\/categories?post=221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arrowlancer.ma\/blog\/wp-json\/wp\/v2\/tags?post=221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}