Quantitative marketing
mkt summarymkt summarymkt clvmkt clvmkt attributionmkt attributionmkt elasticitymkt elasticitymkt upliftmkt upliftmkt bassmkt bass

mkt summary <json_transactions>


Description

    Summary of transactions for the CLV models: frequency (repeat purchases), recency and T (age) in weeks, mean amount of the repeat purchases

Parameters

    json_transactions:   The transactions {customer, date, amount} - String - required
admin
mkt summary "[{\"customer\": \"a\", \"date\": \"2026-01-05\", \"amount\": 20}, {\"customer\": \"a\", \"date\": \"2026-02-10\", \"amount\": 35}, {\"customer\": \"a\", \"date\": \"2026-03-01\", \"amount\": 15}, {\"customer\": \"b\", \"date\": \"2026-02-01\", \"amount\": 50}]"
mentdb
[{"customer": "a", "frequency": 2, "recency": 7.857142857142857, "T": 7.857142857142857, "monetary": 25}, {"customer": "b", "frequency": 0, "recency": 0, "T": 4, "monetary": 0}]
Complete: transactions of a table -> customer summary -> lifetime value
admin
#The sales table: customer, date, amount; -> "[tr]" "[{\"customer\": \"c00\", \"date\": \"2026-02-11\", \"amount\": 60}, {\"customer\": \"c00\", \"date\": \"2026-03-21\", \"amount\": 18}, {\"customer\": \"c00\", \"date\": \"2026-04-24\", \"amount\": 46}, {\"customer\": \"c01\", \"date\": \"2026-01-13\", \"amount\": 62}, {\"customer\": \"c02\", \"date\": \"2026-01-18\", \"amount\": 84}, {\"customer\": \"c02\", \"date\": \"2026-01-29\", \"amount\": 88}, {\"customer\": \"c02\", \"date\": \"2026-02-18\", \"amount\": 16}, {\"customer\": \"c02\", \"date\": \"2026-03-08\", \"amount\": 67}, {\"customer\": \"c03\", \"date\": \"2026-01-14\", \"amount\": 35}, {\"customer\": \"c03\", \"date\": \"2026-01-23\", \"amount\": 32}, {\"customer\": \"c03\", \"date\": \"2026-02-25\", \"amount\": 31}, {\"customer\": \"c03\", \"date\": \"2026-03-10\", \"amount\": 15}, {\"customer\": \"c04\", \"date\": \"2026-01-16\", \"amount\": 36}, {\"customer\": \"c04\", \"date\": \"2026-01-31\", \"amount\": 52}, {\"customer\": \"c05\", \"date\": \"2026-01-15\", \"amount\": 41}, {\"customer\": \"c05\", \"date\": \"2026-01-31\", \"amount\": 40}, {\"customer\": \"c05\", \"date\": \"2026-03-01\", \"amount\": 53}, {\"customer\": \"c05\", \"date\": \"2026-03-07\", \"amount\": 61}, {\"customer\": \"c05\", \"date\": \"2026-04-07\", \"amount\": 36}, {\"customer\": \"c06\", \"date\": \"2026-01-19\", \"amount\": 57}, {\"customer\": \"c07\", \"date\": \"2026-02-10\", \"amount\": 15}, {\"customer\": \"c07\", \"date\": \"2026-03-08\", \"amount\": 23}, {\"customer\": \"c07\", \"date\": \"2026-04-01\", \"amount\": 60}, {\"customer\": \"c07\", \"date\": \"2026-04-25\", \"amount\": 76}, {\"customer\": \"c07\", \"date\": \"2026-05-20\", \"amount\": 38}, {\"customer\": \"c08\", \"date\": \"2026-02-02\", \"amount\": 37}, {\"customer\": \"c08\", \"date\": \"2026-02-10\", \"amount\": 47}, {\"customer\": \"c08\", \"date\": \"2026-02-16\", \"amount\": 60}, {\"customer\": \"c08\", \"date\": \"2026-03-18\", \"amount\": 17}, {\"customer\": \"c08\", \"date\": \"2026-04-27\", \"amount\": 68}, {\"customer\": \"c08\", \"date\": \"2026-05-25\", \"amount\": 63}, {\"customer\": \"c09\", \"date\": \"2026-01-31\", \"amount\": 38}, {\"customer\": \"c10\", \"date\": \"2026-01-10\", \"amount\": 74}, {\"customer\": \"c10\", \"date\": \"2026-02-06\", \"amount\": 80}, {\"customer\": \"c11\", \"date\": \"2026-02-05\", \"amount\": 74}, {\"customer\": \"c11\", \"date\": \"2026-02-16\", \"amount\": 90}, {\"customer\": \"c11\", \"date\": \"2026-03-16\", \"amount\": 52}, {\"customer\": \"c12\", \"date\": \"2026-01-30\", \"amount\": 41}, {\"customer\": \"c13\", \"date\": \"2026-02-04\", \"amount\": 61}, {\"customer\": \"c13\", \"date\": \"2026-02-18\", \"amount\": 58}, {\"customer\": \"c13\", \"date\": \"2026-03-12\", \"amount\": 84}, {\"customer\": \"c13\", \"date\": \"2026-03-22\", \"amount\": 54}, {\"customer\": \"c13\", \"date\": \"2026-04-16\", \"amount\": 54}]"; -> "[cust]" (mkt summary [tr] "{\"end\": \"2026-09-30\"}"); json load "tuto_v" (mkt clv [cust] "{\"horizon\": 13, \"top\": 1}"); -> "[res]" (concat "best customer " (json select "tuto_v" "/top/[0]/customer") ": P(alive) " (math round (json select "tuto_v" "/top/[0]/probability_alive") 2) ", expected purchases in 13 weeks " (math round (json select "tuto_v" "/top/[0]/expected_purchases") 2)); json unload "tuto_v"; [res]
mentdb
best customer c09: P(alive) 1, expected purchases in 13 weeks 0.21

mkt summary <json_transactions> <json_params>


Description

    Summary with parameters: customer, date, amount (field names), unit (days, weeks, months), end (date of the end of the observation)

Parameters

    json_transactions:   The transactions - String - required
    json_params:   The parameters - String - required
admin
mkt summary "[{\"id\": 1, \"day\": \"2026-01-05\"}, {\"id\": 1, \"day\": \"2026-03-05\"}]" "{\"customer\": \"id\", \"date\": \"day\", \"unit\": \"days\", \"end\": \"2026-04-01\"}"
mentdb
[{"customer": "1", "frequency": 1, "recency": 59, "T": 86, "monetary": 0}]
Used in use cases (1 recipe)

    Sales & marketing analyst › Customer lifetime value from the transactions (BG/NBD and Gamma-Gamma)
Often used with

    mkt clv

mkt clv <json_customers>


Description

    Customer lifetime value: BG/NBD (purchases and churn, maximum likelihood) and Gamma-Gamma (spend) on the customer summary; probability alive, expected purchases and spend over the horizon (52), the most valuable customers

Parameters

    json_customers:   The customers {frequency, recency, T, monetary} - String - required
admin
mkt clv "[{\"customer\": \"c0\", \"frequency\": 3, \"recency\": 3.2, \"T\": 39.0, \"monetary\": 32.84}, {\"customer\": \"c1\", \"frequency\": 1, \"recency\": 34.41, \"T\": 39.0, \"monetary\": 39.76}, {\"customer\": \"c2\", \"frequency\": 3, \"recency\": 26.72, \"T\": 39.0, \"monetary\": 25.6}, {\"customer\": \"c3\", \"frequency\": 1, \"recency\": 0.8, \"T\": 39.0, \"monetary\": 13.72}, {\"customer\": \"c4\", \"frequency\": 21, \"recency\": 38.46, \"T\": 39.0, \"monetary\": 45.85}, {\"customer\": \"c5\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c6\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c7\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c8\", \"frequency\": 3, \"recency\": 16.86, \"T\": 39.0, \"monetary\": 29.58}, {\"customer\": \"c9\", \"frequency\": 9, \"recency\": 33.19, \"T\": 39.0, \"monetary\": 49.34}, {\"customer\": \"c10\", \"frequency\": 2, \"recency\": 15.23, \"T\": 39.0, \"monetary\": 24.6}, {\"customer\": \"c11\", \"frequency\": 1, \"recency\": 3.82, \"T\": 39.0, \"monetary\": 52.94}, {\"customer\": \"c12\", \"frequency\": 3, \"recency\": 35.57, \"T\": 39.0, \"monetary\": 21.4}, {\"customer\": \"c13\", \"frequency\": 8, \"recency\": 32.18, \"T\": 39.0, \"monetary\": 34.22}, {\"customer\": \"c14\", \"frequency\": 1, \"recency\": 0.05, \"T\": 39.0, \"monetary\": 54.59}, {\"customer\": \"c15\", \"frequency\": 6, \"recency\": 37.57, \"T\": 39.0, \"monetary\": 35.06}, {\"customer\": \"c16\", \"frequency\": 1, \"recency\": 0.14, \"T\": 39.0, \"monetary\": 16.74}, {\"customer\": \"c17\", \"frequency\": 1, \"recency\": 16.0, \"T\": 39.0, \"monetary\": 35.45}, {\"customer\": \"c18\", \"frequency\": 3, \"recency\": 3.66, \"T\": 39.0, \"monetary\": 29.14}, {\"customer\": \"c19\", \"frequency\": 1, \"recency\": 13.2, \"T\": 39.0, \"monetary\": 20.27}, {\"customer\": \"c20\", \"frequency\": 2, \"recency\": 16.76, \"T\": 39.0, \"monetary\": 62.67}, {\"customer\": \"c21\", \"frequency\": 1, \"recency\": 4.74, \"T\": 39.0, \"monetary\": 21.91}, {\"customer\": \"c22\", \"frequency\": 3, \"recency\": 34.5, \"T\": 39.0, \"monetary\": 34.92}, {\"customer\": \"c23\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c24\", \"frequency\": 4, \"recency\": 35.75, \"T\": 39.0, \"monetary\": 34.28}, {\"customer\": \"c25\", \"frequency\": 1, \"recency\": 7.7, \"T\": 39.0, \"monetary\": 36.21}, {\"customer\": \"c26\", \"frequency\": 2, \"recency\": 26.86, \"T\": 39.0, \"monetary\": 47.58}, {\"customer\": \"c27\", \"frequency\": 2, \"recency\": 31.34, \"T\": 39.0, \"monetary\": 37.05}, {\"customer\": \"c28\", \"frequency\": 1, \"recency\": 0.12, \"T\": 39.0, \"monetary\": 30.29}, {\"customer\": \"c29\", \"frequency\": 16, \"recency\": 38.52, \"T\": 39.0, \"monetary\": 34.57}, {\"customer\": \"c30\", \"frequency\": 16, \"recency\": 38.33, \"T\": 39.0, \"monetary\": 27.48}, {\"customer\": \"c31\", \"frequency\": 1, \"recency\": 12.47, \"T\": 39.0, \"monetary\": 26.5}, {\"customer\": \"c32\", \"frequency\": 2, \"recency\": 38.77, \"T\": 39.0, \"monetary\": 50.35}, {\"customer\": \"c33\", \"frequency\": 1, \"recency\": 8.16, \"T\": 39.0, \"monetary\": 26.27}, {\"customer\": \"c34\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c35\", \"frequency\": 1, \"recency\": 3.85, \"T\": 39.0, \"monetary\": 25.39}, {\"customer\": \"c36\", \"frequency\": 2, \"recency\": 16.21, \"T\": 39.0, \"monetary\": 36.15}, {\"customer\": \"c37\", \"frequency\": 2, \"recency\": 16.11, \"T\": 39.0, \"monetary\": 12.91}, {\"customer\": \"c38\", \"frequency\": 2, \"recency\": 13.75, \"T\": 39.0, \"monetary\": 19.11}, {\"customer\": \"c39\", \"frequency\": 2, \"recency\": 2.45, \"T\": 39.0, \"monetary\": 20.18}, {\"customer\": \"c40\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c41\", \"frequency\": 1, \"recency\": 11.12, \"T\": 39.0, \"monetary\": 26.15}, {\"customer\": \"c42\", \"frequency\": 15, \"recency\": 37.13, \"T\": 39.0, \"monetary\": 23.05}, {\"customer\": \"c43\", \"frequency\": 1, \"recency\": 0.87, \"T\": 39.0, \"monetary\": 27.07}, {\"customer\": \"c44\", \"frequency\": 1, \"recency\": 2.87, \"T\": 39.0, \"monetary\": 14.75}, {\"customer\": \"c45\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c46\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c47\", \"frequency\": 1, \"recency\": 6.62, \"T\": 39.0, \"monetary\": 6.7}, {\"customer\": \"c48\", \"frequency\": 2, \"recency\": 8.19, \"T\": 39.0, \"monetary\": 33.06}, {\"customer\": \"c49\", \"frequency\": 3, \"recency\": 5.92, \"T\": 39.0, \"monetary\": 23.58}, {\"customer\": \"c50\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c51\", \"frequency\": 29, \"recency\": 27.6, \"T\": 39.0, \"monetary\": 28.97}, {\"customer\": \"c52\", \"frequency\": 1, \"recency\": 5.1, \"T\": 39.0, \"monetary\": 42.77}, {\"customer\": \"c53\", \"frequency\": 1, \"recency\": 21.93, \"T\": 39.0, \"monetary\": 32.52}, {\"customer\": \"c54\", \"frequency\": 2, \"recency\": 1.86, \"T\": 39.0, \"monetary\": 38.32}, {\"customer\": \"c55\", \"frequency\": 2, \"recency\": 6.91, \"T\": 39.0, \"monetary\": 35.59}, {\"customer\": \"c56\", \"frequency\": 2, \"recency\": 2.16, \"T\": 39.0, \"monetary\": 21.85}, {\"customer\": \"c57\", \"frequency\": 1, \"recency\": 17.98, \"T\": 39.0, \"monetary\": 31.2}, {\"customer\": \"c58\", \"frequency\": 3, \"recency\": 28.39, \"T\": 39.0, \"monetary\": 32.66}, {\"customer\": \"c59\", \"frequency\": 1, \"recency\": 8.01, \"T\": 39.0, \"monetary\": 51.26}]"
mentdb
{"customers": 60, "bgnbd": {"r": 0.7537948396208085, "alpha": 3.6167465865104025, "a": 0.5190388997430061, "b": 0.8740529972865665, "log_likelihood": -547.9073712051978}, "gamma_gamma": {"p": 5.263527528720202, "q": 30.56862566300063, "gamma": 181.9354983975079}, "horizon": 52, "total_clv": 4160.027326625859, "mean_clv": 69.33378877709765, "top": [{"customer": "c4", "probability_alive": 0.9682278750195905, "expected_purchases": 20.419559896891073, "expected_spend": 43.00852034485775, "clv": 878.2150572584811}, {"customer": "c29", "probability_alive": 0.961973024886514, "expected_purchases": 15.612036627179101, "expected_spend": 34.002571539452326, "clv": 530.8493922922074}, {"customer": "c30", "probability_alive": 0.9591042952392108, "expected_purchases": 15.56547948766632, "expected_spend": 28.755006255137534, "clv": 447.58546003206}, {"customer": "c42", "probability_alive": 0.9339185793144948, "expected_purchases": 14.248910088333961, "expected_spend": 25.59387918114452, "clv": 364.68488326381066}, {"customer": "c9", "probability_alive": 0.8036605802260324, "expected_purchases": 7.5746365209482, "expected_spend": 42.82464968840699, "clv": 324.38115552662055}, {"customer": "c13", "probability_alive": 0.7672365867615124, "expected_purchases": 6.485685637933004, "expected_spend": 33.463606980107876, "clv": 217.0344351843203}, {"customer": "c15", "probability_alive": 0.8998725343233928, "expected_purchases": 5.858020733659594, "expected_spend": 33.76721534124324, "clv": 197.8090475869512}, {"customer": "c24", "probability_alive": 0.836577323470783, "expected_purchases": 3.820676298394315, "expected_spend": 33.17397555069688, "clv": 126.74702211006007}, {"customer": "c22", "probability_alive": 0.7845869994754971, "expected_purchases": 2.821525611645452, "expected_spend": 33.26843008119185, "clv": 93.86772753331879}, {"customer": "c12", "probability_alive": 0.8016316639402329, "expected_purchases": 2.8828215002611244, "expected_spend": 28.561807439275718, "clv": 82.33859257226217}, {"customer": "c58", "probability_alive": 0.6540265811418852, "expected_purchases": 2.3520052596109475, "expected_spend": 32.481672154362684, "clv": 76.39706374801949}, {"customer": "c32", "probability_alive": 0.7805676792027203, "expected_purchases": 2.0499281453782876, "expected_spend": 37.10274273134908, "clv": 76.05795659572216}, {"customer": "c2", "probability_alive": 0.6072176224023106, "expected_purchases": 2.183671249454704, "expected_spend": 30.023923940462684, "clv": 65.56237950460314}, {"customer": "c27", "probability_alive": 0.6766140585573394, "expected_purchases": 1.776924972876188, "expected_spend": 33.61084959602243, "clv": 59.7239580067578}, {"customer": "c26", "probability_alive": 0.5891804611738484, "expected_purchases": 1.5473067131102165, "expected_spend": 36.37548378511939, "clv": 56.28403025334706}, {"customer": "c20", "probability_alive": 0.3212538393266659, "expected_purchases": 0.8436773704481506, "expected_spend": 40.33733847775694, "clv": 34.03169965779098}, {"customer": "c1", "probability_alive": 0.5796420314488112, "expected_purchases": 0.9611837156512767, "expected_spend": 33.5006668231462, "clv": 32.20029541386711}, {"customer": "c8", "probability_alive": 0.26117471618277155, "expected_purchases": 0.9392344651600815, "expected_spend": 31.40945338682557, "clv": 29.500841152745625}, {"customer": "c36", "probability_alive": 0.30504953925868783, "expected_purchases": 0.8011216104922266, "expected_spend": 33.37455607558679, "clv": 26.737078112737215}, {"customer": "c5", "probability_alive": 1, "expected_purchases": 0.697221068347062, "expected_spend": 32.38643943688566, "clv": 22.58050790414284}]}

mkt clv <json_customers> <json_params>


Description

    CLV with parameters: horizon (in the unit of T), margin (share of the spend), discount (rate over the horizon), top

Parameters

    json_customers:   The customers - String - required
    json_params:   The parameters - String - required
admin
mkt clv "[{\"customer\": \"c0\", \"frequency\": 3, \"recency\": 3.2, \"T\": 39.0, \"monetary\": 32.84}, {\"customer\": \"c1\", \"frequency\": 1, \"recency\": 34.41, \"T\": 39.0, \"monetary\": 39.76}, {\"customer\": \"c2\", \"frequency\": 3, \"recency\": 26.72, \"T\": 39.0, \"monetary\": 25.6}, {\"customer\": \"c3\", \"frequency\": 1, \"recency\": 0.8, \"T\": 39.0, \"monetary\": 13.72}, {\"customer\": \"c4\", \"frequency\": 21, \"recency\": 38.46, \"T\": 39.0, \"monetary\": 45.85}, {\"customer\": \"c5\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c6\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c7\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c8\", \"frequency\": 3, \"recency\": 16.86, \"T\": 39.0, \"monetary\": 29.58}, {\"customer\": \"c9\", \"frequency\": 9, \"recency\": 33.19, \"T\": 39.0, \"monetary\": 49.34}, {\"customer\": \"c10\", \"frequency\": 2, \"recency\": 15.23, \"T\": 39.0, \"monetary\": 24.6}, {\"customer\": \"c11\", \"frequency\": 1, \"recency\": 3.82, \"T\": 39.0, \"monetary\": 52.94}, {\"customer\": \"c12\", \"frequency\": 3, \"recency\": 35.57, \"T\": 39.0, \"monetary\": 21.4}, {\"customer\": \"c13\", \"frequency\": 8, \"recency\": 32.18, \"T\": 39.0, \"monetary\": 34.22}, {\"customer\": \"c14\", \"frequency\": 1, \"recency\": 0.05, \"T\": 39.0, \"monetary\": 54.59}, {\"customer\": \"c15\", \"frequency\": 6, \"recency\": 37.57, \"T\": 39.0, \"monetary\": 35.06}, {\"customer\": \"c16\", \"frequency\": 1, \"recency\": 0.14, \"T\": 39.0, \"monetary\": 16.74}, {\"customer\": \"c17\", \"frequency\": 1, \"recency\": 16.0, \"T\": 39.0, \"monetary\": 35.45}, {\"customer\": \"c18\", \"frequency\": 3, \"recency\": 3.66, \"T\": 39.0, \"monetary\": 29.14}, {\"customer\": \"c19\", \"frequency\": 1, \"recency\": 13.2, \"T\": 39.0, \"monetary\": 20.27}, {\"customer\": \"c20\", \"frequency\": 2, \"recency\": 16.76, \"T\": 39.0, \"monetary\": 62.67}, {\"customer\": \"c21\", \"frequency\": 1, \"recency\": 4.74, \"T\": 39.0, \"monetary\": 21.91}, {\"customer\": \"c22\", \"frequency\": 3, \"recency\": 34.5, \"T\": 39.0, \"monetary\": 34.92}, {\"customer\": \"c23\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c24\", \"frequency\": 4, \"recency\": 35.75, \"T\": 39.0, \"monetary\": 34.28}, {\"customer\": \"c25\", \"frequency\": 1, \"recency\": 7.7, \"T\": 39.0, \"monetary\": 36.21}, {\"customer\": \"c26\", \"frequency\": 2, \"recency\": 26.86, \"T\": 39.0, \"monetary\": 47.58}, {\"customer\": \"c27\", \"frequency\": 2, \"recency\": 31.34, \"T\": 39.0, \"monetary\": 37.05}, {\"customer\": \"c28\", \"frequency\": 1, \"recency\": 0.12, \"T\": 39.0, \"monetary\": 30.29}, {\"customer\": \"c29\", \"frequency\": 16, \"recency\": 38.52, \"T\": 39.0, \"monetary\": 34.57}, {\"customer\": \"c30\", \"frequency\": 16, \"recency\": 38.33, \"T\": 39.0, \"monetary\": 27.48}, {\"customer\": \"c31\", \"frequency\": 1, \"recency\": 12.47, \"T\": 39.0, \"monetary\": 26.5}, {\"customer\": \"c32\", \"frequency\": 2, \"recency\": 38.77, \"T\": 39.0, \"monetary\": 50.35}, {\"customer\": \"c33\", \"frequency\": 1, \"recency\": 8.16, \"T\": 39.0, \"monetary\": 26.27}, {\"customer\": \"c34\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c35\", \"frequency\": 1, \"recency\": 3.85, \"T\": 39.0, \"monetary\": 25.39}, {\"customer\": \"c36\", \"frequency\": 2, \"recency\": 16.21, \"T\": 39.0, \"monetary\": 36.15}, {\"customer\": \"c37\", \"frequency\": 2, \"recency\": 16.11, \"T\": 39.0, \"monetary\": 12.91}, {\"customer\": \"c38\", \"frequency\": 2, \"recency\": 13.75, \"T\": 39.0, \"monetary\": 19.11}, {\"customer\": \"c39\", \"frequency\": 2, \"recency\": 2.45, \"T\": 39.0, \"monetary\": 20.18}, {\"customer\": \"c40\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c41\", \"frequency\": 1, \"recency\": 11.12, \"T\": 39.0, \"monetary\": 26.15}, {\"customer\": \"c42\", \"frequency\": 15, \"recency\": 37.13, \"T\": 39.0, \"monetary\": 23.05}, {\"customer\": \"c43\", \"frequency\": 1, \"recency\": 0.87, \"T\": 39.0, \"monetary\": 27.07}, {\"customer\": \"c44\", \"frequency\": 1, \"recency\": 2.87, \"T\": 39.0, \"monetary\": 14.75}, {\"customer\": \"c45\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c46\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c47\", \"frequency\": 1, \"recency\": 6.62, \"T\": 39.0, \"monetary\": 6.7}, {\"customer\": \"c48\", \"frequency\": 2, \"recency\": 8.19, \"T\": 39.0, \"monetary\": 33.06}, {\"customer\": \"c49\", \"frequency\": 3, \"recency\": 5.92, \"T\": 39.0, \"monetary\": 23.58}, {\"customer\": \"c50\", \"frequency\": 0, \"recency\": 0, \"T\": 39.0, \"monetary\": 0}, {\"customer\": \"c51\", \"frequency\": 29, \"recency\": 27.6, \"T\": 39.0, \"monetary\": 28.97}, {\"customer\": \"c52\", \"frequency\": 1, \"recency\": 5.1, \"T\": 39.0, \"monetary\": 42.77}, {\"customer\": \"c53\", \"frequency\": 1, \"recency\": 21.93, \"T\": 39.0, \"monetary\": 32.52}, {\"customer\": \"c54\", \"frequency\": 2, \"recency\": 1.86, \"T\": 39.0, \"monetary\": 38.32}, {\"customer\": \"c55\", \"frequency\": 2, \"recency\": 6.91, \"T\": 39.0, \"monetary\": 35.59}, {\"customer\": \"c56\", \"frequency\": 2, \"recency\": 2.16, \"T\": 39.0, \"monetary\": 21.85}, {\"customer\": \"c57\", \"frequency\": 1, \"recency\": 17.98, \"T\": 39.0, \"monetary\": 31.2}, {\"customer\": \"c58\", \"frequency\": 3, \"recency\": 28.39, \"T\": 39.0, \"monetary\": 32.66}, {\"customer\": \"c59\", \"frequency\": 1, \"recency\": 8.01, \"T\": 39.0, \"monetary\": 51.26}]" "{\"horizon\": 26, \"margin\": 0.3, \"top\": 3}"
mentdb
{"customers": 60, "bgnbd": {"r": 0.7537948396208085, "alpha": 3.6167465865104025, "a": 0.5190388997430061, "b": 0.8740529972865665, "log_likelihood": -547.9073712051978}, "gamma_gamma": {"p": 5.263527528720202, "q": 30.56862566300063, "gamma": 181.9354983975079}, "horizon": 26, "total_clv": 689.6280431404856, "mean_clv": 11.493800719008094, "top": [{"customer": "c4", "probability_alive": 0.9682278750195905, "expected_purchases": 11.253887389352535, "expected_spend": 43.00852034485775, "clv": 145.20391342311197}, {"customer": "c29", "probability_alive": 0.961973024886514, "expected_purchases": 8.606803608254603, "expected_spend": 34.002571539452326, "clv": 87.79603662470807}, {"customer": "c30", "probability_alive": 0.9591042952392108, "expected_purchases": 8.581136991789522, "expected_spend": 28.755006255137534, "clv": 74.02519436252993}]}
Used in use cases (1 recipe)

    Sales & marketing analyst › Customer lifetime value from the transactions (BG/NBD and Gamma-Gamma)
Often used with

    mkt summary

mkt attribution <json_journeys>


Description

    Multi-touch attribution of the conversions to the channels of the journeys: last touch, first touch, linear, time decay, Markov chain (removal effect) and Shapley values, side by side

Parameters

    json_journeys:   The journeys {path, conversions, non_conversions, value} - String - required
admin
mkt attribution "[{\"path\": [\"seo\", \"email\"], \"conversions\": 30, \"non_conversions\": 70}, {\"path\": \"ads > seo\", \"conversions\": 20, \"non_conversions\": 180}, {\"path\": [\"email\"], \"conversions\": 25, \"non_conversions\": 75}, {\"path\": [\"ads\"], \"conversions\": 5, \"non_conversions\": 295}, {\"path\": [\"social\", \"ads\", \"email\"], \"conversions\": 12, \"non_conversions\": 88}]"
mentdb
{"journeys": 5, "conversions": 92, "value": 92, "channels": ["ads", "email", "seo", "social"], "credits": {"last": {"ads": 5, "email": 67, "seo": 20, "social": 0}, "first": {"ads": 25, "email": 25, "seo": 30, "social": 12}, "linear": {"ads": 19, "email": 44, "seo": 25, "social": 4}, "time_decay": {"ads": 15.095238095238095, "email": 51.857142857142854, "seo": 23.333333333333332, "social": 1.7142857142857142}, "markov": {"ads": 29.349213100808168, "email": 35.39515099957464, "seo": 22.36410038281583, "social": 4.891535516801366}, "shapley": {"ads": 19, "email": 43.99999999999999, "seo": 25, "social": 4}}}

mkt attribution <json_journeys> <json_params>


Description

    Attribution with parameters: method (last, first, linear, time_decay, markov, shapley or compare), half_life (time decay, in touches)

Parameters

    json_journeys:   The journeys - String - required
    json_params:   The parameters - String - required
admin
mkt attribution "[{\"path\": [\"seo\", \"email\"], \"conversions\": 30, \"non_conversions\": 70}, {\"path\": \"ads > seo\", \"conversions\": 20, \"non_conversions\": 180}, {\"path\": [\"email\"], \"conversions\": 25, \"non_conversions\": 75}, {\"path\": [\"ads\"], \"conversions\": 5, \"non_conversions\": 295}, {\"path\": [\"social\", \"ads\", \"email\"], \"conversions\": 12, \"non_conversions\": 88}]" "{\"method\": \"markov\"}"
mentdb
{"journeys": 5, "conversions": 92, "value": 92, "channels": ["ads", "email", "seo", "social"], "credits": {"markov": {"ads": 29.349213100808168, "email": 35.39515099957464, "seo": 22.36410038281583, "social": 4.891535516801366}}}
Used in use cases (1 recipe)

    Sales & marketing analyst › Multi-touch attribution: last click against Markov and Shapley

mkt elasticity <json_prices> <json_quantities>


Description

    Price elasticity of the demand (log-log regression: constant elasticity) with its interval

Parameters

    json_prices:   The prices - String - required
    json_quantities:   The quantities - String - required
admin
mkt elasticity "[8, 9, 10, 11, 12, 13, 14]" "[640, 495, 400, 330, 270, 235, 200]"
mentdb
{"model": "loglog", "elasticity": -2.070558127175149, "lower": -2.1222132285936732, "upper": -2.018903025756625, "r2": 0.9995292891127899, "intercept": 10.760136227419185, "slope": -2.070558127175149}

mkt elasticity <json_prices> <json_quantities> <json_params>


Description

    Elasticity with parameters: model (loglog or linear), cost (gives the price of maximum margin), level

Parameters

    json_prices:   The prices - String - required
    json_quantities:   The quantities - String - required
    json_params:   The parameters - String - required
admin
mkt elasticity "[8, 9, 10, 11, 12, 13, 14]" "[640, 495, 400, 330, 270, 235, 200]" "{\"cost\": 5}"
mentdb
{"model": "loglog", "elasticity": -2.070558127175149, "lower": -2.1222132285936732, "upper": -2.018903025756625, "r2": 0.9995292891127899, "intercept": 10.760136227419185, "slope": -2.070558127175149, "optimal_price": 9.67046101755666, "quantity_at_optimum": 429.182616952692, "margin_at_optimum": 2004.4806818905}

mkt uplift <json_segments>


Description

    Uplift of a campaign by segment (treated against control): difference of the conversion rates with its interval and test, incremental conversions, number needed to target

Parameters

    json_segments:   The segments {segment, treated_n, treated_conversions, control_n, control_conversions} - String - required
admin
mkt uplift "[{\"segment\": \"young\", \"treated_n\": 1000, \"treated_conversions\": 80, \"control_n\": 1000, \"control_conversions\": 50}, {\"segment\": \"senior\", \"treated_n\": 800, \"treated_conversions\": 40, \"control_n\": 800, \"control_conversions\": 42}]"
mentdb
{"segments": [{"segment": "young", "treated_rate": 0.08, "control_rate": 0.05, "uplift": 0.03, "lower": 0.008431489082784165, "upper": 0.05156851091721583, "p_value": 0.0064078559345557284, "incremental_conversions": 30, "relative_lift": 0.6, "number_needed_to_target": 33.333333333333336}, {"segment": "senior", "treated_rate": 0.05, "control_rate": 0.0525, "uplift": -0.0024999999999999953, "lower": -0.02410896403101252, "upper": 0.01910896403101253, "p_value": 0.8206153609999678, "incremental_conversions": -1.9999999999999962, "relative_lift": -0.04761904761904753}, {"segment": "(all)", "treated_rate": 0.06666666666666667, "control_rate": 0.051111111111111114, "uplift": 0.015555555555555552, "lower": 1.8368162474251964E-4, "upper": 0.030927429486368584, "p_value": 0.04732455408293679, "incremental_conversions": 27.999999999999993, "relative_lift": 0.30434782608695643, "number_needed_to_target": 64.2857142857143}]}

mkt uplift <json_segments> <json_params>


Description

    Uplift with parameters: value (of a conversion) and cost (of a contact): profit per targeted customer, level

Parameters

    json_segments:   The segments - String - required
    json_params:   The parameters - String - required
admin
mkt uplift "[{\"segment\": \"all\", \"treated_n\": 5000, \"treated_conversions\": 260, \"control_n\": 5000, \"control_conversions\": 200}]" "{\"value\": 60, \"cost\": 0.5}"
mentdb
{"segments": [{"segment": "all", "treated_rate": 0.052, "control_rate": 0.04, "uplift": 0.011999999999999997, "lower": 0.0037917045284713083, "upper": 0.020208295471528685, "p_value": 0.0041656004276819925, "incremental_conversions": 59.999999999999986, "relative_lift": 0.29999999999999993, "number_needed_to_target": 83.33333333333336, "profit_per_target": 0.21999999999999975}, {"segment": "(all)", "treated_rate": 0.052, "control_rate": 0.04, "uplift": 0.011999999999999997, "lower": 0.0037917045284713083, "upper": 0.020208295471528685, "p_value": 0.0041656004276819925, "incremental_conversions": 59.999999999999986, "relative_lift": 0.29999999999999993, "number_needed_to_target": 83.33333333333336, "profit_per_target": 0.21999999999999975}]}

mkt bass <json_sales>


Description

    Bass diffusion of a new product fitted on the sales per period: innovation p, imitation q, market potential m, peak, forecast of the next 10 periods

Parameters

    json_sales:   The sales per period - String - required
admin
mkt bass "[35.76, 49.3, 65.44, 82.65, 98.05, 108.04, 109.77, 102.73]"
mentdb
{"p_innovation": 0.030000113712175886, "q_imitation": 0.37999675191963406, "market_potential": 1000.0081863450615, "adopted_so_far": 651.74, "peak_period": 6.192636446453283, "r2": 0.999999989139295, "fitted": [35.75852995902393, 49.298465828626384, 65.44407150471082, 82.65057653781437, 98.04825859469491, 108.03666291538866, 109.77474303984663, 102.72829447432298], "forecast": [88.99020706169215, 72.07695562434131, 55.265362009156, 40.620679391138445, 28.9380758046143, 20.159530699213633, 13.826196041469315, 9.381186966220517, 6.318888147896849, 4.235301153632972]}

mkt bass <json_sales> <json_params>


Description

    Bass with parameters: horizon, market (fixed market potential)

Parameters

    json_sales:   The sales - String - required
    json_params:   The parameters - String - required
admin
mkt bass "[12, 25, 41, 60, 74]" "{\"horizon\": 5, \"market\": 800}"
mentdb
{"p_innovation": 0.015962726676042756, "q_imitation": 0.4913570190375913, "market_potential": 800, "adopted_so_far": 212, "peak_period": 6.754940246416279, "r2": 0.9839426384112782, "fitted": [16.295580413437698, 25.64537458293842, 39.07527166126804, 56.6983396710384, 76.69567770264472], "forecast": [94.46002889255402, 103.77441343915814, 100.6229329812654, 86.42099407199346, 66.82158477723057]}