1. Faro

Nivel 5 · Lo que cuesta un cliente nuevo

La solicitud

De Jordan Reyes, Director de Marketing

“Finanzas sigue preguntando cuánto nos cuesta un cliente nuevo. ¿Puedes darme el CAC por año: todo lo que gastamos en marketing dividido entre los clientes que realmente adquirimos?”

Tu objetivo

Asigna a result un DataFrame con una fila por año (2023, 2024, 2025) y las columnas year, spend (total de marketing_spend.amount de ese año, todos los canales, redondeado a 2), new_customers (clientes cuyo primer pedido contabilizado cae en ese año) y cac (spend / new_customers, redondeado a 2, a partir del gasto sin redondear). Los pedidos contabilizados están construidos en el código inicial. Ordena por año.

  • Usa el DataFrame orderspendiente
  • Usa el DataFrame marketing_spendpendiente
  • Muestra exactamente year spend new_customers cacpendiente

Tu código

Python

Cargando el editor…

    ResultadoVista previa de orders · presiona Ejecutar para ver el tuyo
    Vista previa de orders
    order_idcustomer_idorder_datestatuschannel
    10011252023-01-01 20:51:19completedweb
    10021562023-01-02 07:58:46completedweb
    1003222023-01-02 10:25:27completedmarketplace
    1004482023-01-02 11:21:51completedmarketplace

    Mote revisa tu resultado

    Presiona Ejecutar. Cada fila que cumple el objetivo se vuelve una luciérnaga en tu linterna.

    DataFrames

    Cargados como DataFrames de pandas, junto con pd y np.

    orders12,000 filas · 7 columnas
    • order_idinteger
    • customer_idinteger
    • order_datetimestamp
    • statusvarchar
    • channelvarchar
    • shipping_feedecimal
    • coupon_codevarchar
    Primeras 5 filas de orders
    order_idcustomer_idorder_datestatuschannelshipping_feecoupon_code
    10011252023-01-01 20:51:19completedweb0.00NaN
    10021562023-01-02 07:58:46completedweb0.00NaN
    1003222023-01-02 10:25:27completedmarketplace4.99WELCOME10
    1004482023-01-02 11:21:51completedmarketplace4.99WELCOME10
    1005822023-01-02 11:43:36completedweb0.00WELCOME10
    marketing_spend3,276 filas · 3 columnas
    • spend_datedate
    • channelvarchar
    • amountdecimal
    Primeras 5 filas de marketing_spend
    spend_datechannelamount
    2023-01-01paid492.99
    2023-01-01email37.38
    2023-01-01social200.53
    2023-01-02paid709.13
    2023-01-02email64.13
    customers2,018 filas · 9 columnas
    • customer_idinteger
    • first_namevarchar
    • last_namevarchar
    • emailvarchar
    • cityvarchar
    • statevarchar
    • signup_datedate
    • segmentvarchar
    • referral_sourcevarchar
    Primeras 5 filas de customers
    customer_idfirst_namelast_nameemailcitystatesignup_datesegmentreferral_source
    1OwenHudsonowen.hudson@icloud.comSan FranciscoCA2022-06-02consumersearch
    2DouglasMendozadmendoza69@gmail.comAtlantaGA2022-06-02consumerNaN
    3HenryBrookshbrooks@lakesidecafe.comLos AngelesCA2022-06-04businessNaN
    4BrianGrahambgraham@bluecedarhomes.comSeattleWA2022-06-06businesspinterest
    5KyleJimenezkjimenez27@yahoo.comIndianapolisIN2022-06-07consumerNaN
    products120 filas · 8 columnas
    • product_idinteger
    • namevarchar
    • categoryvarchar
    • subcategoryvarchar
    • unit_pricedecimal
    • unit_costdecimal
    • launched_ondate
    • is_activeboolean
    Primeras 5 filas de products
    product_idnamecategorysubcategoryunit_priceunit_costlaunched_onis_active
    101Vale Velvet LoveseatFurnitureSofas1659.00NaN2023-09-11true
    102Alder Oak Coffee TableFurnitureTables919.00503.502024-05-16true
    103Orchard Rattan Dining ChairFurnitureChairs789.00429.872023-05-27true
    104Upland Oak BookcaseFurnitureStorage429.00214.702022-12-20true
    105Avery Leather Bed FrameFurnitureBeds449.00232.702021-08-31true
    order_items30,338 filas · 6 columnas
    • order_item_idinteger
    • order_idinteger
    • product_idinteger
    • quantityinteger
    • unit_pricedecimal
    • discount_pctdecimal
    Primeras 5 filas de order_items
    order_item_idorder_idproduct_idquantityunit_pricediscount_pct
    11001121931.990.00
    21001154311.990.00
    31002154411.990.00
    410021941149.000.00
    51002193219.990.00
    returns1,673 filas · 5 columnas
    • return_idinteger
    • order_item_idinteger
    • returned_ondate
    • reasonvarchar
    • refund_amountdecimal
    Primeras 5 filas de returns
    return_idorder_item_idreturned_onreasonrefund_amount
    1142023-01-10damaged83.69
    2422023-01-10wrong_item19.99
    31052023-01-14wrong_item10.99
    4242023-01-16changed_mind26.99
    51262023-01-16late20.99
    employees60 filas · 8 columnas
    • employee_idinteger
    • first_namevarchar
    • last_namevarchar
    • departmentvarchar
    • titlevarchar
    • manager_idinteger
    • hire_datedate
    • salaryinteger
    Primeras 5 filas de employees
    employee_idfirst_namelast_namedepartmenttitlemanager_idhire_datesalary
    1CatherineHaleExecutiveChief Executive OfficerNaN2016-03-01285000
    2RobertKimExecutiveChief Operating Officer12017-01-09235000
    3MeganCollinsSalesHead of Sales12018-04-16172000
    4ChloeGutierrezSalesAccount Executive32020-01-2172000
    5FrankBellSalesAccount Executive32023-05-2173000
    web_sessions40,000 filas · 7 columnas
    • session_idinteger
    • customer_idinteger
    • started_attimestamp
    • devicevarchar
    • sourcevarchar
    • pages_viewedinteger
    • convertedboolean
    Primeras 5 filas de web_sessions
    session_idcustomer_idstarted_atdevicesourcepages_viewedconverted
    1NaN2023-01-01 23:02:24mobilepaid1false
    2182023-01-01 15:07:49desktoppaid1false
    3NaN2023-01-01 16:55:46desktopdirect7false
    4NaN2023-01-01 12:43:28mobileorganic3false
    5NaN2023-01-01 13:06:21mobilesocial2false

    La lección

    El lado del costo de un cliente

    El costo de adquisición de clientes (CAC) es lo que cuesta ganar un cliente nuevo:

    CAC = acquisition spend in a period / new customers acquired in that period

    El LTV dice lo que vale un cliente; el CAC dice lo que cuesta uno. Un negocio que paga más por adquirir a un cliente de lo que el cliente vale se encoge con cada venta.

    CAC mixto

    La versión más simple divide todo el gasto de marketing entre todos los clientes nuevos. Eso es el CAC mixto. En Harbor & Pine:

    #    year      spend  new_customers     cac
    # 0  2023  382190.45            574  665.84
    # 1  2024  441894.83            525  841.70
    # 2  2025  510641.32            641  796.63

    El numerador y el denominador deben cubrir el mismo período, y el denominador son los clientes nuevos: personas cuyo primer pedido contabilizado cae en el año. Los clientes que ya compraban no fueron adquiridos con el gasto de este año.

    ¿Por qué no un CAC solo de pago?

    La búsqueda de pago es $340,778.33 del gasto de 2025. Es tentador dividirla entre los clientes que vinieron “de anuncios”. Pero Harbor & Pine solo conoce el canal de un cliente por una pregunta en el registro: 47 clientes nuevos de 2025 respondieron google_ads y 209 la dejaron en blanco. Si divides el gasto de pago entre 47, el CAC de pago sale en $7,250.60, que es sobre todo una medida de quién llena formularios. El CAC por canal necesita una atribución adecuada (capítulo 3); hasta entonces, el CAC mixto es el número defendible, etiquetado como mixto.

    Lo que esconde el CAC mixto

    • Gasto que no es adquisición. El correo va sobre todo a clientes existentes. Incluirlo sube el CAC; excluirlo exige un juicio que debes dejar por escrito.
    • Clientes orgánicos. Los amigos y la búsqueda traen clientes gratis, lo que baja el CAC mixto y hace que los medios de pago parezcan más baratos de lo que son.
    • Momento. El gasto de diciembre puede traer clientes en enero. Los períodos anuales suavizan esto; el CAC mensual es ruidoso por esa razón.
    • El primer año de datos. 2023 cuenta como nuevos a clientes de largo plazo que aparecen por primera vez en los datos, así que su CAC es demasiado bajo.

    Nota de entrevista

    Cuando te pregunten cómo calcularías el CAC, da la fórmula y luego di qué gasto incluiste, cómo definiste a un cliente nuevo y si es mixto o por canal. Los entrevistadores escuchan las definiciones más que la división.

    Elige qué puede ejecutarse en este sitio. Puedes cambiarlo cuando quieras desde "Configurar cookies", al pie de cada página.