BI and AI delivery for mid-market companies

Your AI does not have a data problem. It has a definitions problem.

We build the governed metric layer first, so the board pack, the dashboards and the models all read the same number. Scoped before we quote, senior hands only, and a written stop point at every stage of the work.

30 minutes, camera optional, no slide deck. Replies within one working day. One new engagement starts at a time.

Week 2
working artefact

You see real numbers in your own data in week two, not a slide deck.

Scoped
before we quote

Written scope first, then a fixed quote against it. No open-ended discovery.

Ties out
or we keep working

If the numbers cannot be reconciled to your finance system, we keep going at no charge. In writing, in the contract.

Yours
no lock-in

Repository, semantic model, documentation and definitions all move to your tenant at handover.

metric layer · 520 weekly snapshots · SE NO DK FI DE

Which market is dragging group margin down?

DELargest margin decline, year over year

26.6% in 2025 against 29.1% in 2024, down 2.5 points

DE ← cause26.6% −2.5pts
FI34.4% +0.0pts
SE37.2% +0.0pts
NO40.2% +0.1pts
DK36.0% +0.3pts

What the model is telling you: Four markets moved inside a point. DE accounts for essentially all of the group decline, so the next question is inside one market rather than across five.

Metric
Gross margin, group
Definition
(Net revenue − COGS − inbound freight) ÷ Net revenue, blended over the selected period
Grain
Market × ISO week
Owner
Group CFO
Source of record
ERP sales ledger, reconciled to finance account group 4000–6499
Show the SQL the semantic layer runs
select  m.market,
        sum(r.net_revenue)                          as net_revenue,
        sum(f.cogs + f.inbound_freight)             as cost_of_sales,
        1 - sum(f.cogs + f.inbound_freight)
            / nullif(sum(r.net_revenue), 0)          as gross_margin
from    analytics.fct_order_lines   f
join    analytics.dim_market        m using (market_key)
join    analytics.fct_invoiced_net  r using (order_line_key)
where   f.iso_week between {{start_week}} and {{end_week}}
group by 1
order by gross_margin asc;

Computed in your browser from 520 bundled weekly snapshots (520 rows scanned for this answer) over market x ISO week grain. Northline Distribution AB (synthetic) is a synthetic data set generated for this demo, not client data. Definitions, owner and source shown are the ones the layer would carry in a real deployment.

This is the actual demo, not a screenshot. Ask it a question and it recomputes from the bundled series.

Where we get called in

Five situations, and what usually causes them

We are rarely the first call. We are the call after the first attempt has been running for a year and the numbers still do not agree.

01

Two numbers, one meeting

Finance and commercial arrive with different revenue figures and both are defensible. The rest of the meeting is spent on reconciliation.

02

The dashboard nobody opens

Reporting was built, licensed and launched. The Monday meeting still starts with someone updating a spreadsheet.

03

An AI pilot that stalled

A proof of concept impressed the board and has been in review for four months. Nobody can say what it costs to run or who owns it.

04

Reporting that lives in one head

One analyst understands the queries. Their holiday is a business continuity risk and everyone knows it.

05

An audit everyone dreads

The numbers tie out eventually, by hand, after three weeks of extract reconciliation and a lot of goodwill.

The common cause: reporting was built on top of whatever definitions were available at the time, and nobody wrote the arithmetic down. Fix that first and the rest gets cheaper.

Start at the metric layer
Practices

Four practices, one spine

Every engagement runs through the same order: define the numbers, model them once, build on top, then hand over. The AI practice is not an exception.

01

Metric foundation

One definition per number, written down, owned by a named person, and enforced in a semantic layer instead of a spreadsheet.

Metric foundation in detail
02

Data platform

Pipelines that fail loudly instead of silently, a warehouse that answers a query before the meeting ends, and lineage you can hand to an auditor.

Data platform in detail
03

Reporting & enablement

Fewer reports, read more often. Reporting that survives the person who built it leaving.

Reporting & enablement in detail
04

AI & automation

Eight service lines, sold the same way as everything else: a short fixed-scope readiness step, then a pilot that has to beat your current process, then production only if it does.

The AI practice in detail
Applied AI, in production

Most AI projects in the mid-market fail twice: once in the pilot, then again in production.

The second failure is the expensive one. It happens when an upstream column changes shape, a definition moves, or an access rule the prototype never had to respect turns out to be the whole problem. We start where those things live: the data contract, the metric definition, and the approval gate.

  • Deployed in your tenant, with your keys. Nothing you send us is used to train a shared model.
  • Every AI answer carries its source, and refuses when retrieval finds no support.
  • Agents write to a system of record only through a human approval gate, with a full audit trail.
  • Accuracy measured on your data before rollout, with the sample size printed next to it.
  • AI Act and GDPR artefacts delivered as standard, because your buyers now ask in security review.

What we will tell you not to build

“Add AI to every process.”

Most processes we see should be fixed with a data contract and a workflow change. We will name those in the readiness sprint and quote nothing for them.

“Agents that run themselves.”

An agent with write access and no approval gate is an incident waiting for a timestamp. We build the gate first, always.

“AI-powered insights.”

Insights come from a defined metric and a decision owner. The model is the cheap part. If that sentence was the pitch, the project has no measurable outcome.

How the trust questions get answered

  • Your tenant, your keys. Deployment inside your own Azure, AWS or GCP tenancy with your keys. Nothing leaves your environment to a model provider, and nothing you send us is used for training.
  • Citations, confidence, audit trail. Every AI answer carries the source it came from, a confidence signal, and a stored record of the prompt, the retrieved context and the output.
  • Human approval on anything consequential. Agents write to production systems only through an approval gate. Recommendations are advisory until a named person signs the action.
  • Measured before rollout. A verified-answer set and an evaluation harness run before go-live and on every change. You get the accuracy number, the sample size, and the failure list.
  • AI Act and GDPR artefacts as standard. Risk classification, DPIA input, human-oversight design and monitoring records are deliverables, not change requests. It is what your enterprise buyers will ask for.
Work samples

What the output looks like

Three of eight samples. Each one leads with a number, states how it was measured, and prints the sample size where the number depends on one.

How to read these samples. Illustrative example. This is a composite of the kind of engagement we deliver, built from our own method and representative market benchmarks. It is not a specific client project and the figures are directional, not verified client results. We can walk you through anonymised, NDA-covered engagements on a call: the numbers, the stack, and what did not work.

BIB2B distribution

Monthly close went from six days to one afternoon across five markets

A Nordic distributor, five markets, around 210 employees

6 days → 4 hours
Group margin close
first full month live
€310K
Margin leakage found in supplier terms
6 months reviewed
3 → 1
Sources of record for margin
at handover
Read the full sample
AIUtilities

Invoices stopped being retyped: 87% extracted automatically, with a reason code on the rest

A utility supplier, around 38,000 supplier invoices a year

87%
Invoices extracted without human touch
1,240-invoice held-out set
2.4 days → 6 hours
Invoice batch cycle time
8 weeks after cutover
13%
Routed to the exception queue, each with a reason code
latest live month
Read the full sample
AIMedical devices

Regulatory questions answered in under an hour, with a citation or an explicit refusal

A medtech manufacturer, 340-document regulatory corpus

4.5 h → 55 min
Average research time per question
12-week measured period
92%
Questions answered with a citation to a source document
340-question evaluation set
8%
Refused because no source supported an answer
same evaluation set
Read the full sample
The method

The Five Gates, and where you can stop

A named method with a written exit criterion at each gate. You can stop at any gate and keep what was built up to that point.

Why gates rather than phases. A phase runs until the budget ends. A gate has a test you can fail. Gate 02 does not close until last year-end reconciles, and if it does not, the next phase is free until it does. That sentence is in the contract, not in a proposal.

Handover is a gate, not a favour. Gate 05 closes when two people on your team can add a metric end to end while we watch.

01
FrameWeek 1

Frame: agree what the numbers mean, in writing

We define the numbers before we touch a database. Every metric gets a plain-language definition, a formula, an owner and the decision it is meant to drive.

You get
Signed metric definition sheet, decision register, and the agreed definition of done.
Exit criterion
A named person owns each metric, and the formula is written so a new hire could apply it.

Stop point. Stop here and you keep the sheet. Several clients have.

02
ModelWeeks 1 to 3

Model: one definition, expressed once

The definitions become a semantic layer with documented grain, relationships and tests. This is the part that makes reporting and AI agree with each other later.

You get
Dimensional model, metric code, test suite, reconciliation against the finance system.
Exit criterion
Last year-end reconciles, and the variance is explained in writing.

Stop point. Stop here and you own a model someone else can build on.

03
BuildWeeks 2 to 6

Build: reporting and models on top of the model

Reporting, pipelines or AI sit on top of the model. Page design starts from a decision and an owner, not from a chart type. Anything that does not change a decision does not get built.

You get
Working pages, pipelines or agents, in your environment, reviewed weekly against real data.
Exit criterion
The decision owner says they would use it again next month without being asked.

Stop point. Stop here and the artefacts ship documented and tested.

04
ProveWeeks 4 to 8

Prove: reconcile, then measure whether anyone uses it

We measure adoption, reconciliation and the original business case, and we report the parts that did not work alongside the ones that did.

You get
Reconciliation report, adoption baseline and re-measure, evaluation results for any AI component.
Exit criterion
The numbers tie out and the usage curve is flat or rising.

Stop point. If reconciliation fails, the next phase is free until it passes. That is in the contract.

05
Hand overFinal week

Hand over: your team, your tenant, our exit

Repository, model, documentation, definitions, credentials and a recorded walkthrough move to your tenant. Named people in your team can change a definition without calling us.

You get
Handover pack, runbooks, recorded walkthrough, 30-day support window.
Exit criterion
Two of your people can add a metric end to end while we watch.

Stop point. No retainer is required to keep the lights on. Most clients keep one anyway.

How we differ

Six things we do that most agencies will not

Not positioning language. Each of these is a commitment you can hold us to, and a reason to say no to us early.

We scope it before we quote it

No price list, because no two clients run the same systems. You get a written scope with deliverables, dates and assumptions, then a fixed quote against it within two working days. You are never asked to sign on the call.

Written scope and fixed quote before any commitment.

A working artefact in week two

Week two produces numbers from your data, in your environment, that a decision owner has looked at. If by week two you have only seen slides, we have not started.

Gate 02 exit criterion: last year-end reconciles.

Senior hands, no bench

The person who scopes the work builds it. No account manager between you and the engineer, and no junior learning your business on your invoice.

Fixed-scope engagements are capped at two concurrent projects.

You own everything, and can leave

Repository, semantic model, definitions, documentation and credentials move to your tenant at handover. No proprietary runtime, no licence back to us, no data hostage.

Gate 05: two of your people add a metric unaided before final payment.

We fail loudly, in writing

If the data does not support the use case, or the model does not beat your current process, that is a written deliverable. Two of the three answers in a readiness sprint are reasons not to build.

AI readiness sprint ends build / fix the foundation / stop.

Definitions before dashboards, always

Every project starts at the metric layer because that is where reporting and AI both break. It is a slower first fortnight and a cheaper rest of the year.

Gate 01 runs before any pipeline work.

How we quote

No price list. A written scope, then a fixed price.

Two companies can ask for the same dashboard and need a week apart in effort, so we scope first and price per client. What you get is a scope document you can read in one sitting, and a fixed quote you can hold us to.

01

Fit call, 30 minutes

What the problem is, which service line fits, and whether a smaller first step settles it.

02

Written scope

Deliverables, gates, assumptions and what is out of scope, within two working days.

03

Fixed quote

Priced against that scope, per client. Larger builds are split across gates with a milestone each.

Questions we get asked

The answers, before the call

If your question is not here, ask it directly and we will put the answer on this page.

How do you price the work?

Client by client, after scoping. Two companies can ask for the same dashboard and need a week apart in effort, so a published price list would either be wrong or would push us to cut corners to protect it. What you get instead: a written scope with deliverables, dates and assumptions, then a fixed quote against that scope within two working days. The number does not move unless you change the scope.

How is this different from hiring a data analyst?

A hire costs 12 to 18 months of salary before they know your business, and they leave with the context. We are useful when you need one specific thing built properly: a metric layer, a warehouse, a compliant reporting setup, an AI workflow that survives production. If what you actually need is a permanent analyst, we will say so, and we do run fractional retainers when that fits better.

We have Power BI already. What is missing?

Usually the semantic model. Reports inherit whatever definitions were available when they were built, so the same metric drifts across pages. We harden the model, add descriptions and hierarchies, and put a verified-answer set in place, which is also the prerequisite for Copilot giving correct answers rather than confident wrong ones.

What happens if an AI project does not work?

Every AI engagement starts with a short fixed-scope readiness step that ends in a decision rather than a commitment. Nothing is billed for a phase that does not meet its written exit criterion, and if a pilot cannot beat the process it is meant to replace on your own data, you do not buy the build. We put that in writing, including when the honest answer is not to build it at all.

Start with the number that causes the most argument.

Bring it to a 30-minute call. We will tell you what usually causes that specific disagreement, what settling it takes, and whether you need us at all. If you do not, you will still leave with the definition sheet.

Book the fit callhello@insightcrafter.com

Remote team, operating from Dhaka, Bangladesh · Asia/Dhaka (UTC+6), with a standing overlap into European mornings · Replies within one working day.