API EasyJur — Receita Estipulada

Gerado em 2026-06-08 · dados de produção (read-only) · 35 dias pós-lançamento (04/05/2026)
← Voltar

Respostas diretas pro JV

Quantos dos 368 estão em trial?
9
status_api = em_periodo_teste · despencou de 46 → 9 porque os trials das coortes A, B e C venceram (C de 30d venceu em 03/06 e converteu quase tudo)
Quantos já estão sendo cobrados?
97
status_api = ativo · dobrou de 49 → 97 com o fim dos trials das 4 coortes
Qual o valor que estamos cobrando?
R$ 13.340 / mês
MRR firme dos 97 ativos · ARR a 100% retenção: R$ 160.080 (era R$ 8.060 / R$ 96.720 em 20/05)
Qual o tier mais aceito?
Starter
25 aceites em volume absoluto · em % de aceite, enterprise lidera com 66,7% (12 aceitaram em 18 elegíveis)
Quantos ativaram (aceitaram o modal)?
140
9 trial + 97 ativos + 34 cancelados · adesão de 33,2% da base de 368 elegíveis (122 via modal + 18 provisionamentos manuais)
Quantos efetivamente usaram a API?
41
159.647 chamadas totais até 08/06 (pico 07/06 com 32.841) · 29% dos 140 que ativaram chegaram a chamar a API (snapshot ES live)

Evolução desde o 1º snapshot (20/05 → 08/06)

Em 19 dias a operação saiu da fase de trial e entrou em regime de cobrança. Os trials das coortes A/B/C venceram e a maior parte converteu — daí o salto em ativos e MRR. O uso real explodiu na 1ª semana de junho.

Métrica 20/05 (16 dias) 08/06 (35 dias) Variação
Ativos (sendo cobrados)4997+98%
MRR firmeR$ 8.060R$ 13.340+65%
ARR firme (100% retenção)R$ 96.720R$ 160.080+65%
Em trial469converteram
Cancelamentos acumulados2234+12
Adesão (de elegíveis)31,2%33,2%+2,0 pp
Escritórios usando de fato2441+71%
Chamadas acumuladas (ES)7.772159.647+20×
Pico diário2.79132.841+11×

Resumo financeiro

MRR firme (ativos)
R$ 13.340
MRR trial projetado
R$ 1.710
MRR perdido (cancelados)
R$ 8.110
Contratos vigentes (ativo+trial)
106
Cancelamentos acumulados
34
Adesão (de 368 elegíveis)
33,2%
ARR firme · retenção 100%
R$ 160.080
ARR teto (ativo + trial)
R$ 180.600
Ticket médio (ativos)
R$ 137,53

Firme = quem já passou do trial e está pagando. Trial projetado = teto se 100% dos em_periodo_teste converterem (só restam 9 em trial — leitura quase fechada). Perdido = MRR que saiu via cancelamento desde o lançamento. Todos os números vêm de tb_aditivos_api_easyjur × tb_api_pacotes.

Funil de aceite (modal de ativação)

Dos 368 escritórios elegíveis (registrados em tb_aditivos_api_easyjur_elegiveis), 122 aceitaram o modal, 241 recusaram e 5 ainda não responderam. Total de aditivos é 140 — diferença de 18 corresponde a provisionamentos manuais (incluindo EasyJur Interna id=1).

Coorte Regra Elegíveis Aceitos Recusados Pending % aceite Distribuição
A Trial 7d · cobrança auto 286502351 17,5%
B Trial 14d · cobrança auto 272052 74,1%
C Trial 30d · cobrança auto 262600 100,0%
D Trial 7d · opt-in manual 292612 89,7%
Total 3681222415 33,2%

verde aceitos · vermelho recusados · cinza pending. Atenção: coorte A concentra ~78% da base elegível e tem o pior aceite (17,5%). Se rolarmos pra base toda no formato de A, a adesão deve cair de 33% pra ~17-22%. As coortes B/C/D são amostras menores e mais qualificadas — não extrapolar o aceite alto delas pra base inteira.

Uso real da API (Elasticsearch · api_easyjur_requests)

Snapshot 2026-06-08 (live). Estes números vêm do Elasticsearch (índice api_easyjur_requests em elastic.easyjur.com), populado pelo quota_service.track_request(). Dashboard exportado em ~/claude/api-launch-v1/kibana-dashboard-api-easyjur.ndjson.

Foram 159.647 chamadas de 41 escritórios distintos entre 04/05 e 08/06. Dos 140 que ativaram, 41 (29%) usaram de fato — o restante ativou e ainda não chamou. O uso saltou na 1ª semana de junho: maio inteiro somou 30.114 chamadas; só os 8 primeiros dias de junho somaram 129.533 (4,3× o mês anterior).

Total de chamadas
159.647
Escritórios que usaram
41
% dos ativadores que usaram
29%
Pico diário (07/06)
32.841
% reqs com sucesso (200)
100%
Concentração de uso: a Lorene Ribeiro e Carvalho (tier business, ativo) sozinha fez 112.361 chamadas — 70,4% de todo o volume. Top 3 (Lorene + ABR Consultoria + Cameran) = 134.165 chamadas = 84%. O resto da base usa pouco: 30 dos 41 fizeram menos de 1.000 chamadas no acumulado. A média de uso ainda está muito longe da cota incluída — ver caveat no rodapé.

Distribuição diária

DataChamadasVolume relativo ao pico (07/06 · 32.841 reqs)
2026-05-04 (D-day)134
2026-05-05748
2026-05-062.791
2026-05-071.598
2026-05-0876
2026-05-09252
2026-05-10145
2026-05-1197
2026-05-12260
2026-05-131.307
2026-05-1485
2026-05-15150
2026-05-16 (sáb)1
2026-05-17 (dom)73
2026-05-18619
2026-05-191.503
2026-05-201.094
2026-05-211.082
2026-05-222.518
2026-05-23211
2026-05-24 (sáb)19
2026-05-252.704
2026-05-262.388
2026-05-27920
2026-05-281.421
2026-05-297.540
2026-05-30 (sáb)121
2026-05-31 (dom)257
2026-06-013.774
2026-06-021.781
2026-06-0311.548
2026-06-049.098
2026-06-0526.194
2026-06-06 (sáb)30.079
2026-06-07 (dom)32.841
2026-06-08 (parcial)14.218

Quebra do padrão semanal a partir de 05/06: o volume passou a subir inclusive no fim de semana (06 e 07/06 são sáb/dom e bateram os picos). Isso é consistente com integração automatizada (jobs/cron de cliente), não uso manual — provavelmente a Lorene Ribeiro, que sozinha responde por 70% do volume.

Quem usou de fato (41 escritórios)

id_empresa Escritório Tier Status Coorte Chamadas
1179855LORENE RIBEIRO E CARVALHO SOC. INDIVIDUAL DE ADVOCACIAbusinessativoC112.361
598930503ABR CONSULTORIA LTDAbusinessativoA12.994
6951CAMERAN ADVOGADOS ASSOCIADOSproativoA8.810
110648SILVA & SILVA ADVOGADOS ASSOCIADOSenterpriseativoB4.078
1112732JUK CATTANI SOCIEDADE DE ADVOGADOSscaleativoA3.685
110132MAYKOM WILLAMES BARROS DE CARVALHO SOC. IND. ADVOCACIAplusativoA3.220
577BRASIL E SILVEIRA ADVOGADOSbusinessativoA2.966
109644OLIVEIRA BIBIANO E RODRIGUES ADVOCACIAstarterativo1.892
11666CONTA DE TESTE DO DESENVOLVIMENTOproativoB1.810
8861CLAYTON CASAL SOCIEDADE DE ADVOGADOSscaleativoC1.608
598932870ISAQUE SANTOS SOC. INDIVIDUAL DE ADVOCACIAproativoA895
1EasyJur Tecnologia JurídicaenterprisetrialD809
745329KANDANGO TRANSPORTES E TURISMO LTDAbusinessativoA724
598931553QAprotrialB705
110209CEZARIO DE SOUZA ADVOCACIAbusinessativoA498
598930917PATRICK COUTINHO ADVOGADOS ASSOCIADOSproativoC402
598929486ARCANJO & BRANCO ADVOCACIA EMPRESARIALbusinesscanceladoD397
598931552RICARDO ALMEIDA SOCIEDADE DE ADVOGADOSstarterativo381
598932963CAVOLI ADVOCACIAstarterativo214
598932436THIAGO COSTA VIEIRA SOC. INDIVIDUAL DE ADVOCACIAliteativo173
598929901DOURADO & DOURADO SOCIEDADE DE ADVOGADOSplusativoA154
598929076F. FELIPETTO SOC. INDIVIDUAL DE ADVOCACIAstarterativoD102
2098558COSTA FERREIRA PAZZINI GIL ADVOCACIAprocanceladoA100
1176701COSTA & MARINHO ADVOGADOS ASSOCIADOSscaleativoA89
598931135FRANKLIN JOSE DE ASSIS SOC. INDIVIDUAL DE ADVOCACIAplusativoA88
2099223NOBRE ROCHA ADVOGADOS S/SbusinessativoB79
20MONTE ALTO ADVOCACIAprocanceladoA78
8240PEDRO HENRIQUE SOUZA - SOC. INDIVIDUAL DE ADVOCACIAplusativoB64
598928605CARVALHO, CASTRO, MEIRELES SOCIEDADE DE ADVOGADOSplusativoA60
598937190CINTIA SOUZA SOCIEDADE DE ADVOGADOSstarterativo55
33362(sem nome cadastrado)starterativo42
598931185GONCALVES BOSON ARRUDA ADVOGADOSenterpriseativoA30
10498GIOLLO ADVOGADOS ASSOCIADOSstartercanceladoD29
14046ROBINSON GONCALVES MACENA SOC. IND. ADVOCACIAstarterativoA15
10986Carvalho Neves Advogados AssociadosplusativoB9
14164BOCH E FAVERO ASSESSORIA JURIDICAbusinessativoA8
1177218Danielle Esteves Advocacia e Assessoria JurídicastartercanceladoD8
598933333FREDERICO CAMARGO COUTINHO SOC. IND. ADVOCACIAbusinessativoC7
598929711MACIEL, FERNANDES, BASSO E DUMAS ADVOGADOSproativo5
598928088PBL - COMPRA DE CREDITOS JUDICIAIS LTDAscaleativoB2
937MACIEL E MACIEL ADVOGADOS ASSOCIADOSscaleativoB1
Total159.647

Top 3 concentram 134.165 chamadas (84% do volume total). 11 escritórios fizeram menos de 100 reqs — claros casos de "ativou pra testar e parou". Cauda longa típica: poucos heavy users sustentam o consumo, a maioria está só explorando.

Queries SQL prontas — rodar direto no banco

Cada query abaixo gera exatamente uma das tabelas/cards deste relatório no banco advogados_iturn. Toda contratação da API mora em tb_aditivos_api_easyjur (1 linha por escritório, id_empresa UNIQUE). O preço cobrado vem do pacote vinculado via id_pacotetb_api_pacotes.preco_centavos. Todas são read-only — só SELECT.

Como ler: as queries são copy/paste. Para rodar no mysql-prod direto, basta colar. Se quiser rodar tudo de uma vez, separe por ;. Indices usados: (status_api), (id_empresa), (id_pacote) — todas as agregações ficam abaixo de 100ms em prod.

1) Respostas pro JV (KPIs num único SELECT)

Reproduz os 6 cards do topo deste relatório. Roda em ~50ms.

SELECT
  (SELECT COUNT(*) FROM tb_aditivos_api_easyjur_elegiveis)                                            AS elegiveis_total,
  (SELECT COUNT(*) FROM tb_aditivos_api_easyjur_elegiveis WHERE status_aceite='acknowledged')         AS aceitos_modal,
  (SELECT COUNT(*) FROM tb_aditivos_api_easyjur)                                                      AS aditivos_total,
  (SELECT COUNT(*) FROM tb_aditivos_api_easyjur WHERE status_api='em_periodo_teste')                  AS em_trial,
  (SELECT COUNT(*) FROM tb_aditivos_api_easyjur WHERE status_api='ativo')                             AS ativos,
  (SELECT COUNT(*) FROM tb_aditivos_api_easyjur WHERE status_api='cancelado')                         AS cancelados,
  (SELECT COALESCE(SUM(p.preco_centavos),0)/100
     FROM tb_aditivos_api_easyjur a JOIN tb_api_pacotes p ON p.id=a.id_pacote
     WHERE a.status_api='ativo')                                                                       AS mrr_firme_reais,
  (SELECT COALESCE(SUM(p.preco_centavos),0)/100
     FROM tb_aditivos_api_easyjur a JOIN tb_api_pacotes p ON p.id=a.id_pacote
     WHERE a.status_api='em_periodo_teste')                                                            AS mrr_trial_projetado_reais,
  (SELECT COALESCE(SUM(p.preco_centavos),0)/100
     FROM tb_aditivos_api_easyjur a JOIN tb_api_pacotes p ON p.id=a.id_pacote
     WHERE a.status_api='cancelado')                                                                   AS mrr_perdido_reais,
  ROUND(100 *
    (SELECT COUNT(*) FROM tb_aditivos_api_easyjur_elegiveis WHERE status_aceite='acknowledged')
    /
    (SELECT COUNT(*) FROM tb_aditivos_api_easyjur_elegiveis)
  ,1)                                                                                                  AS pct_adesao;

2) Estado por status × tier (linhas das 3 tabelas ATIVO / TRIAL / CANCELADO)

SELECT
  a.status_api,
  a.tier,
  COUNT(*)                              AS contratos,
  COALESCE(SUM(p.preco_centavos),0)/100 AS mrr_reais,
  COALESCE(SUM(p.creditos),0)           AS reqs_inclusas_total
FROM tb_aditivos_api_easyjur a
LEFT JOIN tb_api_pacotes p ON p.id = a.id_pacote
GROUP BY a.status_api, a.tier
ORDER BY FIELD(a.status_api,'ativo','em_periodo_teste','cancelado'),
         FIELD(a.tier,'starter','lite','plus','pro','business','scale','enterprise');

3) Funil de aceite por coorte (tabela “Funil de aceite”)

SELECT
  e.coorte,
  COUNT(*)                                                                              AS elegiveis,
  SUM(CASE WHEN e.status_aceite='acknowledged' THEN 1 ELSE 0 END)                       AS aceitos,
  SUM(CASE WHEN e.status_aceite='declined'     THEN 1 ELSE 0 END)                       AS recusados,
  SUM(CASE WHEN e.status_aceite='pending'      THEN 1 ELSE 0 END)                       AS pending,
  ROUND(100 * SUM(CASE WHEN e.status_aceite='acknowledged' THEN 1 ELSE 0 END) / COUNT(*), 1) AS pct_aceite
FROM tb_aditivos_api_easyjur_elegiveis e
GROUP BY e.coorte
WITH ROLLUP;

4) Recorte financeiro por coorte (A/B test)

SELECT
  IFNULL(a.coorte,'(sem coorte)') AS coorte,
  SUM(CASE WHEN a.status_api='em_periodo_teste' THEN 1 ELSE 0 END) AS em_trial,
  SUM(CASE WHEN a.status_api='ativo'            THEN 1 ELSE 0 END) AS ativos,
  SUM(CASE WHEN a.status_api='cancelado'        THEN 1 ELSE 0 END) AS cancelados,
  COUNT(*)                                                          AS total,
  COALESCE(SUM(CASE WHEN a.status_api='ativo'                          THEN p.preco_centavos END),0)/100 AS mrr_firme_reais,
  COALESCE(SUM(CASE WHEN a.status_api IN ('ativo','em_periodo_teste')  THEN p.preco_centavos END),0)/100 AS mrr_projetado_reais
FROM tb_aditivos_api_easyjur a
LEFT JOIN tb_api_pacotes p ON p.id = a.id_pacote
GROUP BY a.coorte
WITH ROLLUP;

5) Tier mais aceito (recorte por tier_sugerido)

SELECT
  e.tier_sugerido,
  p.preco_centavos/100                                                                  AS preco_reais,
  COUNT(*)                                                                              AS elegiveis,
  SUM(CASE WHEN e.status_aceite='acknowledged' THEN 1 ELSE 0 END)                       AS aceitos,
  SUM(CASE WHEN e.status_aceite='declined'     THEN 1 ELSE 0 END)                       AS recusados,
  SUM(CASE WHEN e.status_aceite='pending'      THEN 1 ELSE 0 END)                       AS pending,
  ROUND(100 * SUM(CASE WHEN e.status_aceite='acknowledged' THEN 1 ELSE 0 END) / COUNT(*), 1) AS pct_aceite
FROM tb_aditivos_api_easyjur_elegiveis e
LEFT JOIN tb_api_pacotes p ON p.id = e.id_pacote_sugerido
GROUP BY e.tier_sugerido, p.preco_centavos
ORDER BY FIELD(e.tier_sugerido,'starter','lite','plus','pro','business','scale','enterprise');

6) Pacotes vigentes (snapshot do catálogo)

SELECT
  slug,
  preco_centavos/100                                  AS preco_reais,
  creditos                                            AS reqs_mes_inclusas,
  ROUND(preco_centavos / 100 / (creditos/1000), 2)    AS reais_por_1k_reqs,
  ativo
FROM tb_api_pacotes
ORDER BY ordem;

7) Lista nominal — quem está em cada status (export pro CS)

SELECT
  a.id_empresa,
  ea.nome                                               AS escritorio,
  a.tier,
  a.coorte,
  a.status_api,
  p.preco_centavos/100                                  AS mensalidade_reais,
  DATE(a.data_inicio_trial)                             AS dt_inicio_trial,
  DATE(a.data_fim_trial)                                AS dt_fim_trial,
  DATE(a.data_proxima_cobranca)                         AS dt_proxima_cobranca,
  DATE(a.data_cancelamento)                             AS dt_cancelamento
FROM tb_aditivos_api_easyjur a
LEFT JOIN tb_api_pacotes p          ON p.id = a.id_pacote
LEFT JOIN tb_escritorio_advogados ea ON ea.id = a.id_empresa
ORDER BY FIELD(a.status_api,'ativo','em_periodo_teste','cancelado'),
         p.preco_centavos DESC,
         a.id_empresa;

8) ARR projetado e ticket médio (KPIs de boardroom)

SELECT
  COUNT(*)                                                                                          AS contratos_vigentes,
  COALESCE(SUM(p.preco_centavos),0)/100                                                             AS mrr_reais,
  COALESCE(SUM(p.preco_centavos),0)/100 * 12                                                        AS arr_reais,
  ROUND(AVG(p.preco_centavos)/100, 2)                                                               AS ticket_medio_reais
FROM tb_aditivos_api_easyjur a
JOIN tb_api_pacotes p ON p.id = a.id_pacote
WHERE a.status_api IN ('ativo','em_periodo_teste');   -- troca pra ='ativo' se quiser MRR/ARR firme

9) Cancelamentos por tier (pra investigação com CS)

SELECT
  a.tier,
  COUNT(*)                                       AS cancelamentos,
  COALESCE(SUM(p.preco_centavos),0)/100          AS mrr_perdido_reais,
  GROUP_CONCAT(a.id_empresa ORDER BY a.id_empresa) AS empresas_canceladas
FROM tb_aditivos_api_easyjur a
LEFT JOIN tb_api_pacotes p ON p.id = a.id_pacote
WHERE a.status_api = 'cancelado'
GROUP BY a.tier
ORDER BY mrr_perdido_reais DESC;
Atenção: trial não gerou receita ainda — o cliente em em_periodo_teste só vira receita quando status_api passar pra ativo (cobrança automática após data_fim_trial, exceto coorte D que exige opt-in manual). Restam só 9 em trial — a leitura financeira já está praticamente consolidada.

Uso real (ES — não tem SQL equivalente)

A contagem de chamadas reais à API vive em Elasticsearch (índice api_easyjur_requests em elastic.easyjur.com, populado pelo quota_service.track_request()). Pra refresh use GET api_easyjur_requests/_search com agg cardinality sobre id_empresa + agg date_histogram sobre @timestamp. Dashboard pronto: ~/claude/api-launch-v1/kibana-dashboard-api-easyjur.ndjson.

Estado atual — breakdown por status × tier

ATIVO   MRR firme · R$ 13.340 / 97 contratos

TierPreço/mêsContratosMRR (R$)Reqs/mês inclusas
starter3024720120.000
lite5017850340.000
plus80191.520760.000
pro150142.1001.120.000
business250133.2502.080.000
scale40072.8002.100.000
enterprise70032.1001.800.000
Total9713.3408.320.000

EM PERÍODO DE TESTE   MRR projetado · R$ 1.710 / 9 contratos

TierPreço/mêsContratosMRR projetado (R$)Reqs/mês inclusas
starter3026010.000
lite50210040.000
plus80000
pro1503450240.000
business250000
scale4001400300.000
enterprise7001700600.000
Total91.7101.190.000

CANCELADO   MRR perdido · R$ 8.110 / 34 contratos

TierPreço/mêsContratosMRR perdido (R$)Reqs/mês inclusas
starter30824040.000
lite506300120.000
plus804320160.000
pro1505750400.000
business2502500320.000
scale4001400300.000
enterprise70085.6004.800.000
Total348.1106.140.000

8 cancelamentos de enterprise (R$ 700/mês) puxam o MRR perdido pra cima — sozinhos representam R$ 5.600/mês (69% do total perdido). Padrão se mantém desde 20/05: o churn é caro porque concentra no topo da tabela de preços. Vale priorizar entrevistas de CS com esses 8.

Recorte financeiro por coorte (A/B test de duração de trial)

Coorte Regra Em trial Ativos Cancelados Total MRR firme (R$) MRR projetado (R$)
A Trial 7 dias · cobrança automática 4391154 5.2905.550
B Trial 14 dias · cobrança automática 216624 3.1903.490
C Trial 30 dias · cobrança automática 124126 2.9402.990
D Trial 7 dias · opt-in manual (sem cobrança auto) 221620 7301.830
Sem coorte (provisionamento manual, incl. EasyJur Interna) 016016 1.1901.190
Total 99734140 13.34015.050

Coorte C (trial 30d) é a grande vencedora do A/B: 100% de aceite no funil e 24 de 26 já em cobrança, só 1 cancelamento (~96% retenção). Trials longos converteram muito melhor. Coorte A (7d) fechou em 39 ativos vs 11 cancelados = ~78% retenção entre quem chegou ao fim do trial — pior que C/B, mas é a coorte de massa (54 aditivos). Coorte B (14d): 16 ativos vs 6 cancelados = ~73%. Coorte D (opt-in manual) segue sendo o desastre previsto: 16 de 20 cancelaram (80%) — sem cobrança automática, quase ninguém renova ativamente. Recomendação: não usar o formato D no rollout.

Tier mais aceito — recorte detalhado

Calculado em cima de tb_aditivos_api_easyjur_elegiveis agrupado por tier_sugerido e status_aceite. "Aceito" significa que o admin clicou no modal de ativação (status passa pra acknowledged e cria o aditivo em trial).

Tier sugerido Preço/mês Elegíveis Aceitos Recusados Pending % aceite
starter30982572125,5%
lite50862065123,3%
plus80552134038,2%
pro150482027141,7%
business250421526135,7%
scale40021912042,9%
enterprise70018125166,7%
Total368122241533,2%

Em volume absoluto: starter (25) e plus (21). São tiers com base elegível grande. Em pct de aceite: enterprise (66,7%), scale (42,9%) e pro (41,7%). Clientes maiores têm muito mais propensão a aceitar — o ticket da API é pequeno relativo ao plano deles. Insight comercial: o pitch pode ser mais agressivo no topo da curva, onde a conversão é o dobro da base.

Pacotes vigentes em produção

Snapshot de tb_api_pacotes em 2026-06-08.

Mudança de catálogo desde 20/05: as cotas de requisições foram multiplicadas (~5× a 10×) em todos os tiers, mantendo os mesmos preços. Ex.: starter passou de 1.000 → 5.000 reqs/mês; business de 16.000 → 160.000; scale de 30.000 → 300.000. Resultado: o R$/1k reqs caiu muito (business saiu de R$15,63 → R$1,56) e ninguém está nem perto do limite — nem a Lorene, que com 112k chamadas acumuladas continua dentro da cota mensal de 160k do business.
SlugPreço/mês (R$)Reqs/mês inclusasR$ por 1k reqsAtivo
starter305.0006,00sim
lite5020.0002,50sim
plus8040.0002,00sim
pro15080.0001,88sim
business250160.0001,56sim
scale400300.0001,33sim
enterprise700600.0001,17sim

Caveats & leituras pra reunião