Logistic Regression · First-Year Value Optimizer · Minkyu Sung
Tools I built · Predictive Analytics

First-Year Value Optimizer.

Fits a logistic regression of customer response on price, promo, and message, then projects first-year value across the whole price grid and surfaces the combination that maximizes it. It loads with a sample dataset so you can see it work. Edit the costs, add cases, or upload your own CSV and the model refits live.

Cost assumptions

Response data

Price Promo Msg Resp
${{ row.price }} {{ row.promo }} {{ row.message }} {{ row.response }}
{{ nRows }} cases · CSV columns: Customer_ID, Price, Promo, Message, Response
Optimal combination
{{ bestPrice }}
optimal price
{{ bestVal }}
Max first-year value
{{ bestCombo }}
Promo · Message

First-year value vs price

FYV = (price − install) · P(response) − acq
{{ svgLabels }}
No promo · no msg Promo only Message only Promo + message

Fitted logistic coefficients

{{ b0 }}
Intercept
{{ b1 }}
Price (per $1)
{{ b2 }}
Promo
{{ b3 }}
Message
Ported from the original R Shiny app (glm, binomial logit). Fit runs entirely in-browser via Newton–Raphson.
The assignment behind it

From a course brief to a decision tool.

Built for a graduate New Product Marketing mini-project brief, which asked us to model how customers respond to a new product's price, promotion, and messaging and recommend the launch configuration. The original submission was an R Shiny app fitting a binomial logit on the response data; this is that model rebuilt to run in the browser.

Why it matters: most launch debates argue price and promo in isolation. Tying response probability to first-year value (revenue net of installation and acquisition cost) turns those debates into one number per scenario, so the team can defend a single price × promo × message combination instead of guessing. The same loop generalizes to any subscription or install-based pricing decision.