My App
Intelligence

Modèle de coût & tarification

Unit economics de Bell — coût par message, tiers d'abonnement, marges brutes, dimensionnement par hôtel.

Bell est rentable dès le tier Starter grâce au prompt caching. Un hôtel moyen de 100 chambres génère ~3 600 messages/mois pour un coût AI all-in de ~$11. Facturé 199 €/mois en tier Pro, la marge brute AI est de ~92%. Cette page documente la formule et les hypothèses pour pouvoir ajuster le pricing en fonction des retours terrain.

Formule de coût par message

Un message concierge = 1 requête Claude Messages API + 1 embedding query OpenAI.

coût_message = coût_input + coût_output + coût_embedding

où :
  coût_input      = tokens_cached × $0.10/MTok  +  tokens_uncached × $1/MTok
                    + (si 1er msg session) tokens_cached × $2/MTok (write 1h)
  coût_output     = tokens_output × $5/MTok  (Haiku 4.5)
  coût_embedding  = tokens_query × $0.02/MTok  ≈ toujours négligeable

Décomposition typique (Haiku 4.5 + prompt caching 1h)

Sur un message "moyen" d'une session guest (tours 2-10, cache hit) :

ComposantTokensPrix/MTokCoût
System prompt statique (cached)4 500$0.10$0.00045
KB chunks dynamic (uncached)500$1.00$0.00050
Tools + context divers (cached)500$0.10$0.00005
Conversation history (uncached)1 000$1.00$0.00100
User message (uncached)50$1.00$0.00005
Input total$0.00205
Output réponse concierge100$5.00$0.00050
Embedding query retrieval20$0.02~$0
Total message (cache hit)~$0.0026

Sur le 1er message d'une session (write cache + reads) :

ComposantCoût
Cache write 1h (5 000 tokens × $2/MTok)$0.010
Input uncached (1 050 tokens × $1/MTok)$0.001
Output (100 tokens × $5/MTok)$0.0005
Total premier message~$0.012

Coût moyen sur une session de 10 messages

session = 1 × $0.012 + 9 × $0.0026 = $0.035
         ≈ $0.0035 par message en moyenne (0.35 ¢)

Sans cache (baseline avant optim) : $0.015/message × 10 = $0.15 sur la même session → 4.3× plus cher.

Dimensionnement par hôtel

Hypothèses de trafic

Hôtel "moyen" = 100 chambres, citadin, 4⭐ :

ParamètreValeur
Taux d'occupation annuel80%
% guests qui engagent Bell60%
Chats initiés / guest actif3 par séjour
Messages / chat5
Séjour moyen2 nuits
Messages/mois = 100 chambres × 80% × 60% × 3 chats × 5 msgs × 15 jours ≈ 10 800

Conservatisme : on retient 3 600 msgs/mois (grossièrement le tiers) pour absorber la courbe d'adoption des 3 premiers mois.

Coût AI all-in par hôtel/mois

PosteFormuleCoût
Messages concierge (Haiku 4.5 + cache)3 600 × $0.0035$12.60
Embeddings ingestion KB100 articles × $0.004~$0.50/an (amortized: $0.04/mois)
Embeddings retrievalinclus dans coût message~$0
Web search (tier Pro, ~20% des queries)720 × $0.01$7.20
Total sans web search~$13/mois
Total avec web search~$20/mois

Tarification proposée

TierChambresPrix/moisMessages inclusCoût AI réelMarge brute AIOverage
Starter< 5079 €1 500~$5~94%0.05 €/msg
Pro50-150199 €5 000~$16~92%0.04 €/msg
Business150-300399 €12 000~$38~90%0.03 €/msg
Enterprise300+ / multi-sitessur devis (dès 799 €)illimité + SLA + customvariable~85%

Addons

AddonPrixInclusCoût réel
Web Search (tier Starter/Pro)+29 €/mois500 recherches$5
PMS Integration (Mews, Opera)+49 €/mois1 provider actifnégligeable
Multi-hôtel chain (par site add.)+20% du tier
Priority support 24/7+99 €/moisresponse <1hmain d'œuvre

Projection ARR par cohorte

100 hôtels Pro × 199 € × 12 = 238 800 € ARR
Coût AI réel = 100 × $16 × 12 ≈ 19 200 € (~17 600 €)
Marge brute AI = 221 200 € (~92.6%)

Cette marge couvre :

  • Infra (Dokploy + Postgres + Traefik) ≈ 3k €/an
  • Support L1/L2 (0.5 ETP à 25k €/an) ≈ 12.5k €
  • Dev produit continu ≈ 60k €
  • Sales & onboarding ≈ 30k €

Reste ~115 k € de contribution positive à l'EBITDA sur une cohorte de 100 hôtels.

Instrumentation coût

Chaque message stocke son usage Claude dans message.metadata.aiTokens :

metadata: {
  model: "claude-haiku-4-5-20251001",
  aiTokens: {
    inputTokens: 1500,
    outputTokens: 100,
    cachedInputTokens: 4500,     // read cache hit
    cacheCreationInputTokens: 0, // write (1er msg session)
  },
  // ...
}

Cela permet :

  • Dashboard /admin/cost-monitoring : coût agrégé par org/mois.
  • Facturation d'overage automatique (trigger quand msgs > inclus).
  • Détection d'anomalies (spike de tokens = prompt trop long ou loop).
  • Audit vs budget pour chaque tier.

Formule d'agrégation SQL (draft)

SELECT
  o.id,
  o.name,
  COUNT(m.id) AS messages_count,
  SUM((m.metadata->'aiTokens'->>'inputTokens')::int) AS uncached_input,
  SUM((m.metadata->'aiTokens'->>'cachedInputTokens')::int) AS cached_input,
  SUM((m.metadata->'aiTokens'->>'outputTokens')::int) AS output,
  -- Coût estimé en USD (Haiku 4.5)
  ROUND(
    SUM((m.metadata->'aiTokens'->>'inputTokens')::int) * 0.000001 +
    SUM((m.metadata->'aiTokens'->>'cachedInputTokens')::int) * 0.0000001 +
    SUM((m.metadata->'aiTokens'->>'outputTokens')::int) * 0.000005,
    4
  ) AS estimated_cost_usd
FROM conversation c
JOIN message m ON m.conversation_id = c.id
JOIN organization o ON o.id = c.organization_id
WHERE m.role = 'assistant'
  AND m.created_at >= NOW() - INTERVAL '30 days'
GROUP BY o.id, o.name
ORDER BY estimated_cost_usd DESC;

Sensibilité & scénarios

Si on enlève le prompt caching

MétriqueAvec cacheSans cacheΔ
Coût/message moyen$0.0035~$0.015×4.3
Coût/hôtel/mois (3 600 msgs)$13$54×4.2
Marge tier Pro92%73%−19 pts

Sans cache, le tier Starter devient déficitaire sur les hôtels très actifs (marge < 50%). Le cache est donc non-optionnel pour viabilité économique.

Si on switche tout sur Sonnet 4.6

MétriqueHaiku 4.5Sonnet 4.6
Prix input$1/MTok$3/MTok
Prix output$5/MTok$15/MTok
Cache read$0.10$0.30
Coût/message$0.0035~$0.010

Sonnet 4.6 = 2.8× plus cher mais qualité raisonnement supérieure + support web search. Stratégie Bell : Sonnet 4.6 uniquement sur tier Enterprise (clients qui valorisent la qualité premium et acceptent un prix plus élevé).

Si Anthropic change les prix (+50%)

MétriqueActuel+50%
Coût/message (Haiku)$0.0035$0.0053
Coût/hôtel/mois Pro$16$24
Marge brute tier Pro92%88%

On reste confortable même avec une hausse significative.

Variables clés à monitorer

  1. Cache hit rate (cachedInputTokens / (cachedInputTokens + inputTokens)) — cible > 80%.
  2. Moyenne tokens/message — si ça dérive >6 000 input, audit du prompt pour trouver le bloat.
  3. Output tokens avg — cible < 150. Si >200, Claude est bavard → ajuster prompt.
  4. Messages/hôtel actif — benchmark pour calibrer les tiers.
  5. % escalation tickets — trop d'escalations = IA pas assez utile. Trop peu = IA qui invente.

Ces métriques sont visibles dans le dashboard /admin/cost-monitoring.

Références

On this page