Sites Web10 min de lecture

Marketplace transporteurs B2B Afrique : Uber Freight Africa en 2026

Mohamed Bah·Fondateur, Kolonell
22 mai 2026
Partager :
Marketplace transporteurs B2B Afrique : Uber Freight Africa en 2026

Marketplace transporteurs B2B Afrique : Uber Freight Africa en 2026

Sites Web

Le marché transport routier en Afrique de l'Ouest = 18 milliards USD/an mais 80 % désorganisé : un chargeur appelle 5-10 transporteurs avant trouver. Une marketplace B2B qui matche supply (transporteurs) avec demande (cargo) automatise tout.

TL;DR

- Marketplace bidirectionnelle : chargeurs poste cargo + transporteurs proposent prix.

- Stack : Next.js + Postgres + Mapbox + Wave Business + ePOD.

- Marché Africa de l'Ouest : 18Md USD/an. Players : Lori (KE-NG), Kobo (NG), Sendy (KE).

Architecture marketplace

`

[Chargeur poste mission]

  • Origine, destination
  • Type cargo, poids, volume
  • Date pickup, deadline
  • Budget max ou enchère

[Algorithme match avec transporteurs disponibles]

[Transporteurs voient + proposent prix]

[Chargeur sélectionne → contrat digital signé]

[Cargo livré → ePOD]

[Paiement Wave/bank → libéré post-livraison]

[Reviews mutuelles]

`

Modèle de données

`prisma

model Shipper {

id String @id @default(cuid())

companyName String

contactPerson String

email String

phone String

ninea String?

monthlyVolume Int? // tonnes/mois déclaré

walletProvider String

walletNumber String

rating Float?

isVerified Boolean

}

model Carrier {

id String @id @default(cuid())

companyName String

contactPerson String

email String

phone String

fleetSize Int

vehicles Vehicle[]

certifications String[] // ASTU, OHADA, etc.

walletProvider String

walletNumber String

rating Float?

totalShipments Int

isVerified Boolean

}

model FreightRequest {

id String @id @default(cuid())

shipperId String

shipper Shipper @relation(fields: [shipperId], references: [id])

cargoDescription String

cargoCategory String // GENERAL / HAZARDOUS / PERISHABLE / OVERSIZE

weightKg Int

volumeM3 Float?

vehicleTypeNeeded String // TRUCK_3T / TRUCK_15T / SEMI / CONTAINER_40

pickupAddress String

pickupGps Json

pickupBefore DateTime

deliveryAddress String

deliveryGps Json

deliveryBefore DateTime

budgetMaxXof Int?

status String // OPEN / BIDDING / AWARDED / IN_TRANSIT / DELIVERED / CANCELLED

bids FreightBid[]

awardedBidId String?

}

model FreightBid {

id String @id @default(cuid())

requestId String

request FreightRequest @relation(fields: [requestId], references: [id])

carrierId String

Besoin d'un site web professionnel ?

Kolonell crée des sites web qui attirent des clients, optimisés pour le marché sénégalais. Devis gratuit en 2 minutes.

carrier Carrier @relation(fields: [carrierId], references: [id])

priceXof Int

estimatedDuration Int // hours

notes String?

submittedAt DateTime @default(now())

status String // PENDING / ACCEPTED / REJECTED / WITHDRAWN

}

`

Pricing dynamique + bidding

Deux modes :

Mode A — Prix fixe (chargeur fixe budget, transporteurs accepent ou non)

Mode B — Enchères (transporteurs proposent prix, chargeur choisit)

`tsx

// app/freight/[id]/page.tsx

export default async function FreightRequestPage({ params }) {

const request = await getFreightRequest(params.id);

const bids = await getBids(request.id);

return (

Mission #{request.id}

{request.pickupAddress} → {request.deliveryAddress}

{request.weightKg} kg · {request.cargoCategory}

Propositions transporteurs ({bids.length})

{bids.sort((a, b) => a.priceXof - b.priceXof).map(bid => (

key={bid.id}

bid={bid}

onAccept={async () => {

await fetch(/api/bids/${bid.id}/accept, { method: 'POST' });

}}

/>

))}

);

}

`

Pricing recommandation IA

`ts

// jobs/recommend-price.ts

async function recommendPriceForRequest(request: FreightRequest) {

// Historique missions similaires

const similarMissions = await prisma.shipment.findMany({

where: {

cargoCategory: request.cargoCategory,

vehicleTypeNeeded: request.vehicleTypeNeeded,

status: 'DELIVERED',

// distance similaire

},

take: 50,

orderBy: { createdAt: 'desc' },

});

const avgPrice = average(similarMissions.map(m => m.totalPrice));

const minPrice = avgPrice * 0.85;

const maxPrice = avgPrice * 1.15;

return {

suggested: Math.round(avgPrice),

range: [Math.round(minPrice), Math.round(maxPrice)],

};

}

`

Cas réel — marketplace SN-CI

MétriqueAnnée 1Année 2
Chargeurs actifs2401 850
Transporteurs onboardés3802 100
Missions/mois3804 200
GMV mensuel95M FCFA980M
Commission plateforme (5 %)4.75M49M
Couverture géographiqueSNSN + CI + ML + BJ

Pièges fréquents

  • Vérification transporteurs — fraude possible (faux camions). KYC + visite physique.
  • Pas de bidding bot — manipulation enchères. Plafonds + détection anomalies.
  • Cargo périssable — chaîne du froid critique. Catégorie spéciale + prix premium.
  • Vol cargo — assurance partenaire (NSIA, Allianz Africa) intégrée.
  • Paiement transporteur tardif — escrow + libération T+3 post-livraison.

FAQ

Q : Concurrence ?

R : Lori (KE-NG-CIV), Kobo (NG), Sendy (KE), TruckIt (NG). Marché Francophone Africa moins saturé.

Q : Commission ?

R : 4-7 % standard. Modèle freemium : posting gratuit, payment processing 2-3 % + comm 3-4 %.

Q : Investissement initial ?

R : 1.5-4M USD seed pour MVP + 18 mois ops. Investisseurs : Partech, 4DX, IFC.

Conclusion

Marketplace transporteurs B2B en Afrique 2026 = opportunité massive ($18Md TAM Afrique de l'Ouest). Stack tech tractable. Vrai défi = network effects + onboarding terrain. ROI 30-48 mois sur exécution propre.

Tags :#Marketplace#Transporteurs#B2B#Freight#Afrique#Logistique
Partager :

Mohamed Bah

Fondateur, Kolonell

Passionné par le digital et l'entrepreneuriat en Afrique, Mohamed accompagne les entreprises sénégalaises dans leur transformation digitale depuis 2020. Fondateur de Kolonell, il croit que chaque PME mérite une présence en ligne professionnelle et accessible.