Els ingressos de HubSpot no quadren amb la facturació? Feu l’auditoria de 30 minuts, trobeu les cinc fallades del model de dades i arregleu-les en ordre.
En resumQuan els ingressos de HubSpot no quadren amb la facturació, la fallada sol ser al model de dades, no al dashboard. Els ingressos viuen en camps de text, els sistemes creuen per email en lloc d’una jerarquia d’identitat escrita, el valor del client viu als deals i no a les empreses, l’històric no es congela mai i ningú no és amo de la definició. Primer les definicions, els snapshots al final.
Cada trimestre es repeteix la mateixa reunió. El VP de Vendes obre HubSpot i llegeix el closed-won. El CFO obre el sistema de facturació i llegeix els ingressos cobrats. Els dos números no coincideixen, algú diu «és un tema de timing» i la reunió continua. Ningú no arregla res, perquè tothom a la sala ha decidit en silenci que la diferència és normal.
No és normal. Part d’aquesta diferència és legítima, i us ensenyaré quina. La resta és un model de dades que mai no es va dissenyar per contenir ingressos, i cap eina de dashboards, capa de BI ni complement de reporting no el repararà. Només dibuixaran el número equivocat de manera més bonica.
Si el reporting d’ingressos del vostre HubSpot està malament, l’arranjament no és a la capa de reporting. És abans, en com es guarden, s’identifiquen i es congelen els ingressos. Aquí teniu l’auditoria que faig, les cinc fallades que trobo gairebé sempre i l’ordre en què cal arreglar-les.
Abans d’auditar res, accepteu que en qualsevol negoci de subscripció o de contractes hi ha tres números diferents, i se suposa que no coincideixen:
Un contracte anual de $120K és un número al CRM i dotze números a comptabilitat, i ningú no menteix. La primera fallada de la majoria del reporting d’ingressos no és tècnica. És que l’empresa mai no va deixar per escrit quin dels tres números mostra cada dashboard, ni qui n’és l’amo.
Així que regla u: un amo per número, i la definició va a la descripció de l’informe. No en una wiki que ningú no obre. Al camp de descripció del mateix informe, perquè la definició es llegeixi abans que el gràfic. Si el vostre CFO i el vostre VP de Vendes no poden escriure cadascun una definició d’«ingressos» en una frase i que les dues frases coincideixin, pareu. Encara no esteu davant d’un problema de reporting. Esteu davant d’un problema de vocabulari, i cap canvi de propietat no l’arreglarà.
Un cop escrites les definicions, la diferència que queda és el bug. Això és el que troba l’auditoria.
La podeu fer en una trucada de discovery o un divendres a la tarda. Cinc comprovacions, sense més accés que admin de HubSpot i lectura a facturació.
Si en falleu dues o més, el problema és el model de dades. Si falleu les cinc, no esteu reportant ingressos en absolut. Esteu reportant una col·lecció de notes que casualment contenen números.
Cada comprovació correspon a una fallada. Aquí les teniu, en l’ordre en què les arreglo.
És la més comuna i la més vergonyosa, perquè el gràfic es continua pintant.
Si una xifra d’ingressos està guardada en una propietat de text d’una línia, HubSpot us deixa construir un informe a sobre. No us la deixa sumar. Us dona COUNT, perquè el text no té aritmètica. El dashboard mostra un gràfic de barres, les barres tenen la forma correcta i els totals no signifiquen res. Algú acaba adonant-se que el «valor del pipeline» és igual al nombre de deals.
O pitjor, ningú no se n’adona mai, perquè algú va exportar a un full de càlcul i va fer la suma a mà, i ara el número real d’ingressos viu en un full de càlcul en un portàtil.
Si els vostres ingressos són en una propietat de text, no teniu una mètrica d’ingressos. Teniu una nota.
L’arranjament, per ordre:
Feina avorrida. També l’hora de més valor de tota l’auditoria.
Els ingressos no deixen de sincronitzar-se perquè es trenqui la integració. Fallen perquè dos sistemes s’identifiquen amb dues identitats diferents i ningú no va deixar per escrit quina guanya.
HubSpot coneix una empresa per domini i nom. Stripe coneix un client per customer ID i un email de facturació. La vostra base de dades de producte coneix un tenant per tenant ID i un email de registre. Són tres identitats per a un mateix client, i l’email de registre sovint no és el de facturació. El fundador es dona d’alta amb una adreça personal, finances paga des d’accounts@ i el CRM veu dues persones sense relació.
Quan una sincronització intenta creuar per email, falla en tots aquests casos. O crea una empresa duplicada o, pitjor, assigna els ingressos al registre equivocat.
L’arranjament és una jerarquia d’identitat per escrit, la mateixa disciplina que apliquem al CleanOps Protocol per a la deduplicació. Per a un client SaaS va quedar així: primer el Stripe Customer ID, després el Tenant ID, després el domini normalitzat i després el nom de l’empresa. El nom va l’últim i es marca per a revisió humana, mai no es fusiona automàticament. Guanya la primera coincidència de la jerarquia. Una coincidència només per nom mai no escriu ingressos per si sola.
Escriviu la jerarquia. Poseu-la al mateix lloc que les definicions de les mètriques. Després verifiqueu-la amb una prova deliberada: creeu un client del qual conegueu la resposta i seguiu-lo a través de tots els sistemes.
Un deal és un esdeveniment. Una empresa és el client.
Quan els ingressos es reflecteixen al Deal, cada renovació, upsell i expansió crea o edita un registre diferent, i el valor real del client queda repartit entre cinc deals i tres propietaris. Cap registre no pot respondre «quant val aquest client», que és justament la pregunta que el vostre equip de CS, el vostre consell i el vostre model de forecast no paren de fer.
L’arranjament és guardar els ingressos a nivell de client a la Company: MRR o ARR actual, ingressos totals fins avui i la data de l’última actualització de la xifra. Els deals mantenen el seu propi Amount per al procés de venda. La Company porta la veritat del client.
Una trampa més que va aquí. En un projecte recent, el deal amount estava mapejat a l’MRR, així que un contracte anual d’uns $18K apareixia al pipeline com uns $1,500. És un MRR perfectament vàlid ficat en un camp sobre el qual es calculen les comissions dels reps i que l’informe de pipeline suma. Va corrompre el valor del pipeline i el seguiment de comissions alhora. L’arranjament va ser mapejar el deal amount a l’import de la propera factura del sistema de facturació, no a l’MRR, amb un tractament explícit per a diverses subscripcions actives, trials sense propera factura i monedes diferents de l’USD. Després, revisar a mà cinc deals anuals per demostrar-ho.
La lliçó és general: el nom d’un camp i el valor que s’hi mapeja són dues afirmacions diferents, i les heu d’auditar totes dues.
HubSpot sobreescriu. És la seva feina. Quan un registre canvia, el valor antic desapareix, i cada informe que llegia aquest camp ara llegeix el valor nou.
Això vol dir que el número del trimestre passat es mou cada vegada que algú edita un registre. Un rep corregeix una errada al març, i la xifra del Q4 que el consell ja va veure ara és diferent al dashboard en directe. Si un rep que edita un camp pot canviar el vostre número del consell, no és un número del consell.
L’arranjament són snapshots immutables:
La prova d’un bon snapshot és simple. Canvieu un registre al juliol i després traieu el número de març. Si març s’ha mogut, no teniu un snapshot, teniu una vista.
Aquesta és a sota de les altres quatre, i és la raó per la qual tornen després d’arreglar-les.
Màrqueting compta el closed-won. Vendes compta la signatura. Finances compta la factura. Customer success compta la data de go-live. Cada equip té raó segons la seva pròpia definició, cada informe és coherent per dins i cap no quadra amb els altres.
No ho podeu resoldre amb una propietat. Ho resoleu amb un amo. Per a cada mètrica d’ingressos de cada dashboard executiu, deixeu per escrit tres coses: la definició, el sistema d’origen i l’única persona amb nom i cognoms que en respon. Poseu aquestes tres línies a la descripció de l’informe.
Així, quan es discuteix un número, hi ha una persona a qui preguntar i una definició per comprovar, en lloc de quatre equips defensant cadascun el seu gràfic.
Si les arregleu en l’ordre equivocat, reconstruireu dues vegades. La seqüència que aguanta:
Després afegiu la peça poc glamurosa que ho manté funcionant: una comprovació automàtica setmanal que compara una mostra d’ingressos de HubSpot amb facturació i marca per a revisió manual qualsevol variació per sobre del vostre llindar. Marcar, mai forçar una fusió. Una sobreescriptura insegura d’una xifra d’ingressos és pitjor que una coincidència perduda, perquè la coincidència perduda es veu i la sobreescriptura és silenciosa.
No m’inventaré una xifra per a la vostra empresa, perquè depèn de la mida dels vostres deals i del vostre volum. Però la podeu calcular vosaltres mateixos en una tarda.
Agafeu la variació entre el closed-won de HubSpot i els ingressos facturats dels últims quatre trimestres. Multipliqueu-la per les hores que la vostra gent de finances i RevOps dedica cada trimestre a quadrar-la a mà. Sumeu-hi l’ error de forecast que surt d’un informe de pipeline que suma el camp equivocat. Sumeu-hi les disputes de comissions. Aquesta és la factura recurrent que ja esteu pagant pel privilegi de no arreglar el model.
I hi ha un cost més silenciós. Quan la direcció no es refia del número d’ingressos, deixa de fer servir el CRM per prendre decisions. Demana fulls de càlcul. Els fulls de càlcul es converteixen en el sistema real, i el vostre car CRM passa a ser un lloc on els reps registren activitat. Aquest és el punt en què RevOps deixa de ser una funció i es converteix en un help desk.
Fixeu-vos que res d’aquesta auditoria no anava d’una eina. Podríeu fer-ho tot a HubSpot amb propietats i workflows nadius, i l’stack que l’envolta (Stripe, Clay per portar les dades, una base de dades per als snapshots) és intercanviable. Amb l’arquitectura correcta, l’eina és un detall. Amb l’arquitectura equivocada, cap eina no ho salva.
Un CRM no pot reportar ingressos que mai no es va dissenyar per contenir. Dissenyeu-lo per contenir ingressos, doneu a cada número un amo, congeleu l’històric, i la pregunta del dashboard deixa de ser una discussió.
Si heu fet les cinc comprovacions i n’heu fallat dues o més, no necessiteu un dashboard millor. Necessiteu corregir el model de dades que hi ha a sota, en l’ordre d’abans.
Aquesta és la feina del nostre mòdul de Dashboards and Reporting, que es recolza en el mòdul de CRM Foundation and Data Architecture. Comencem amb l’auditoria de 30 minuts, us lliurem un pla d’arranjaments prioritzat i ancorat en dòlars, i després el construïm. Si preferiu veure primer on sou, el GTM Maturity and Revenue Leak Assessment us dirà si el reporting d’ingressos és la vostra fuita més gran o només la que fa més soroll.
Una auditoria de 20 minuts, dues plantilles de treball i un capítol de The Architecture Behind Growth.
També rebràs The RevOps Build, una build pràctica per número. Et dones de baixa en un clic.
La guia va de camí. Si no arriba en un parell de minuts, mira a la pestanya de promocions.