This is the optional, harder version of the Week 10 build. The Lab 10 clustering build produces an explore-style render of your segments, which is the deliverable and usually enough for the capstone. The version on this page goes one step further: a control that recomputes the model's numbers live, so every slider move recalculates precision, recall, and expected cost from the pinned Project 2 logistic instead of reading them from a saved table. It counts as an equal artifact, so build this version if a recomputing control fits your capstone question and skip it if it does not. Each rung below shows a prompt and the live page that prompt produced, and the prompts were not cleaned up after the fact.
Every rung runs on the same sample, the first 200 accounts of
ar_default_data.csv, and the pinned Project 2 logistic, the course's reference
fit on this data, not necessarily the coefficients your own Project 2 landed on. Pinned means
fixed for the term, so every build checks against the same numbers. The acceptance checks in rung 3 are how
you tie the page's numbers out against the notebook before you accept it. When you climb on
your own data, those two spot-check rows come from your own fit.
These five prompts are yours to keep. Each one has a generic form with the dataset-specific parts in brackets. The generic forms are all on this page now, and the packaged AI Kit lands in the course GitHub repo by term end as your leave-behind. Swap in your own columns, your own coefficients, and your own spot checks, and the same ladder can build your capstone tool instead of this one.
One ask, one page. ECharts from a CDN, the 200-row sample embedded as a JavaScript string, one bar chart of default rate by payment status. No server, no fetch, works from a double-click.
Build a single-file HTML page I can open by double-clicking it, no server. Load Apache ECharts from the jsdelivr CDN with one script tag. Below is a CSV block with 200 credit account records. Embed it in the page as a JavaScript string and parse it there. Do not fetch anything at runtime. The column bad_ar is 1 if the account defaulted next month, 0 if it paid. The column pay_this_month is the payment status this month, 0 means on time, 1 through 3 mean months behind. Draw one bar chart, the default rate for each value of pay_this_month, as a percent, computed from the embedded rows.
bad_ar,gender,education,marital_status,age_decile,outstanding_balance,pay_this_month,no_activity_this_month,last_payment_portion,num_recent_payments,credit_limit 1,female,2-university,married,20,0.03913,2,0,1.0,1,0.2 1,female,2-university,single,20,0.02682,0,0,0.37285607755406414,4,1.2 0,female,2-university,single,30,0.27721,0,0,0.10821986169530191,6,0.9 0,female,2-university,married,30,0.4499,0,0,0.041465386768395084,6,0.5 0,male,2-university,married,50,0.06617,0,0,0.3527336860670194,6,0.5 0,male,4-graduate school,single,30,0.619,0,0,0.043806620056422926,6,0.5 0,male,4-graduate school,single,20,3.12965,0,0,0.13348769364817012,6,5.0 0,female,2-university,single,20,0.11496,0,0,1.0,5,1.0 0,female,1-high school,married,20,0.07956,0,0,0.23616628830874006,5,1.4 0,male,1-high school,single,30,0.0,0,1,1.0,2,0.2 0,female,1-high school,single,30,0.08767,0,0,0.2356186778379483,6,2.0 0,female,4-graduate school,single,50,0.0,0,0,1.0068297185048454,5,2.6 0,female,2-university,single,40,0.11137,0,0,0.15384615384615385,5,6.3 1,male,2-university,single,30,0.62602,1,0,0.04749959180038296,4,0.7 0,male,4-graduate school,single,20,0.67887,0,0,0.044736057262153295,6,2.5 0,female,1-high school,divorced,20,0.50614,1,0,0.05335040546308152,5,0.5 1,male,4-graduate school,single,20,0.12176,0,0,0.1776790671848973,3,0.2 0,male,4-graduate school,married,40,2.42928,0,0,0.04201414803517539,6,3.2 0,female,4-graduate school,married,40,0.0,1,0,0.0,0,3.6 0,female,4-graduate school,single,20,0.0,1,0,0.0,0,1.8 0,female,1-high school,single,30,0.35358,0,0,0.1083501878069922,6,1.3 1,female,2-university,married,30,0.0,0,0,1.0,4,1.2 1,female,2-university,single,20,0.3908,2,0,0.0472847214041701,4,0.7 1,female,4-graduate school,married,40,0.0,0,1,1.0004119464469619,4,4.5 0,male,4-graduate school,single,20,0.0,0,0,0.8142857142857143,5,0.9 0,male,1-high school,single,20,0.45647,0,0,0.047189667543649845,6,0.5 1,male,4-graduate school,single,20,0.0,1,0,2.0,3,0.6 0,female,1-high school,single,30,0.21241,0,0,0.0805552113025158,6,0.5 0,female,1-high school,married,40,0.0,0,0,1.0,5,0.5 0,male,4-graduate school,single,20,0.13829,0,0,0.09049773755656108,5,0.5 0,female,4-graduate school,single,20,0.0,0,0,1.0002896032435564,5,2.3 1,male,2-university,single,30,0.288,2,0,0.05800526706732392,6,0.5 0,male,4-graduate school,single,30,0.90013,0,0,0.03595770241819415,6,1.0 0,female,2-university,married,50,0.06777,0,1,1.0,6,5.0 0,male,4-graduate school,married,50,0.08703,0,1,1.0,5,5.0 0,male,4-graduate school,single,30,0.30134,0,0,0.0,5,1.6 0,male,2-university,married,40,1.78477,0,0,0.04426233124503662,6,2.8 0,female,2-university,single,20,0.13554,0,0,0.1529675708749745,5,0.6 1,male,4-graduate school,single,20,0.0,1,0,1.0,1,0.5 0,male,4-graduate school,single,30,0.0,0,0,1.0,5,2.8 0,male,4-graduate school,single,30,2.08668,0,0,0.045188345022051914,6,3.6 0,female,4-graduate school,single,20,0.64521,0,0,0.04477678771324945,6,0.7 0,male,2-university,single,20,0.00377,0,0,0.47110552763819097,6,0.1 0,female,2-university,married,30,0.56504,0,0,0.04874561289483947,6,1.4 0,female,4-graduate school,single,30,0.15927,0,0,0.1408781404085466,4,0.4 1,male,4-graduate school,single,20,0.0,0,1,0.0,0,2.1 1,female,4-graduate school,single,20,0.11028,0,0,0.18199466148992963,3,0.2 1,female,5-phd,single,40,0.0345,0,0,0.3338826631509558,2,1.5 0,male,2-university,single,30,0.00861,0,0,1.0,6,3.8 0,male,4-graduate school,single,20,0.16129,0,0,0.0713242058552952,6,0.2 1,male,1-high school,single,40,0.37042,1,0,0.08082388215356538,4,0.7 0,female,1-high school,divorced,40,0.59559,0,0,0.03909074917420793,6,1.0 0,female,2-university,married,40,0.0559,0,1,1.0010169060633023,5,3.1 0,female,4-graduate school,single,20,0.40102,1,0,0.031143692204494273,6,1.8 0,female,4-graduate school,single,20,0.44624,2,0,0.045723430400365785,6,1.5 0,female,4-graduate school,married,40,0.0,0,1,1.0,4,5.0 0,female,1-high school,married,30,0.07886,0,0,0.5382131324004306,6,1.8 0,female,2-university,married,30,1.67803,0,0,0.04660401291512915,6,1.8 0,female,4-graduate school,single,30,0.01587,0,0,0.6003430531732419,2,2.0 0,female,2-university,married,20,3.83134,0,0,0.04262179176998272,6,4.0 1,female,1-high school,married,20,0.21332,0,0,0.06413402149081987,6,5.0 0,male,2-university,married,30,0.66775,0,0,0.055856230918678876,5,0.7 1,male,4-graduate school,single,20,0.24987,2,0,0.10153811439960889,3,0.5 1,female,2-university,married,40,0.27718,0,0,0.03428649797709662,1,0.5 0,female,2-university,married,50,0.00099,0,0,1.0,1,1.3 1,male,4-graduate school,married,50,1.52519,0,1,1.0058722779544897,3,2.0 1,male,2-university,married,50,0.0,2,0,0.548533269735273,5,0.1 0,female,4-graduate school,single,30,0.0,2,0,1.0,6,2.1 0,female,1-high school,single,20,0.0,1,0,1.9552904664920958,3,1.3 0,male,5-phd,single,20,0.18565,2,0,0.06942435637836274,4,0.2 0,male,4-graduate school,single,30,0.0078,0,0,1.0,5,0.8 1,male,2-university,single,20,0.55767,2,0,0.04219694156567532,5,3.2 0,female,2-university,married,30,0.03258,0,0,1.0053568342837393,6,2.0 0,female,4-graduate school,single,30,0.0,1,0,1.0,2,2.9 0,male,4-graduate school,single,30,0.0,0,0,1.0293693693693693,6,3.4 0,male,2-university,single,20,0.11769,0,0,0.16554368029739777,4,0.2 0,male,1-high school,single,20,0.41079,0,0,0.04725319006044325,6,0.5 0,female,4-graduate school,married,40,0.0,0,0,1.0,6,3.0 1,female,2-university,single,20,0.26701,0,0,0.05693637714440092,5,0.3 1,female,2-university,single,40,0.0,1,0,0.0,0,2.4 0,female,1-high school,divorced,30,1.58854,0,0,0.04056178066217107,6,4.7 0,female,4-graduate school,single,20,0.18615,0,0,0.1725428119153835,6,3.6 1,male,1-high school,single,30,0.24748,0,0,0.057369589749190056,5,0.6 0,female,2-university,married,40,1.20895,0,0,0.07694520350927657,6,4.0 0,female,1-high school,single,40,0.47233,0,0,0.035016609907444166,6,0.5 0,male,2-university,single,30,1.25628,0,0,0.04081329771445533,6,1.6 1,female,4-graduate school,married,40,0.0,0,0,1.0,4,3.6 0,female,2-university,single,30,0.02679,0,0,0.24142285834561145,5,1.6 0,female,4-graduate school,married,30,0.41313,0,0,0.33936843534182887,6,1.3 0,male,1-high school,single,40,0.08583,2,0,0.17107035540358512,4,0.2 1,male,4-graduate school,married,50,1.3188,2,0,0.04475258215295438,6,2.0 0,female,4-graduate school,single,30,0.07524,0,0,1.0,1,2.8 0,female,4-graduate school,single,20,0.0,0,1,1.36003600360036,1,1.0 0,female,2-university,married,30,0.0,0,0,1.0,4,1.6 0,female,2-university,single,20,0.43711,0,0,0.04134471718249733,6,0.6 0,male,2-university,single,30,0.80104,0,0,0.04210660960974929,6,0.9 0,male,4-graduate school,married,40,0.0,0,0,1.0020427781783225,5,3.6 0,male,4-graduate school,single,20,0.81978,0,0,0.04681330422260417,6,1.5 0,female,1-high school,married,20,0.17311,0,0,0.07769823788546255,6,0.5 1,male,2-university,married,30,0.16274,0,0,0.08772654515412816,5,0.2 0,male,4-graduate school,single,30,0.0,0,1,1.0,5,1.4 0,female,4-graduate school,single,30,0.0,0,1,0.0,6,3.8 0,male,4-graduate school,married,60,4.05991,0,0,0.03727436697562491,5,4.8 1,female,1-high school,single,20,0.42931,0,0,0.04181852605670469,6,0.5 0,female,2-university,single,20,0.56685,2,0,0.08449514152936206,5,0.6 0,female,2-university,single,20,0.0558,0,0,1.0,2,0.7 0,female,2-university,married,30,0.03247,0,0,1.0,6,0.8 0,male,4-graduate school,single,50,0.0,0,0,1.0,6,3.5 0,male,2-university,single,30,1.6053,0,0,0.06114966756735545,5,1.3 0,male,2-university,married,30,0.0,1,0,0.0,0,3.6 0,female,4-graduate school,married,30,0.96619,0,0,0.08539993175383423,4,3.3 0,male,1-high school,married,40,0.11244,0,0,0.13585110718652357,6,0.5 0,male,2-university,married,40,1.29173,2,0,0.046920567089192386,4,2.8 0,female,4-graduate school,single,20,0.50128,0,0,0.037956426022925684,6,1.0 0,male,2-university,single,40,0.17675,0,0,0.06945164299782315,6,0.5 1,male,4-graduate school,single,20,0.18199,0,0,0.07042026729644142,4,0.3 0,male,4-graduate school,single,20,0.0,0,0,1.0,6,2.4 1,male,2-university,single,20,0.12029,2,0,0.12909055702575356,6,0.8 0,male,2-university,married,30,0.09983,0,0,1.0011380095178979,6,4.0 0,female,2-university,single,30,0.48254,0,0,0.0388764700165225,6,2.4 1,male,1-high school,single,30,0.45004,2,0,0.021750478510527232,5,0.5 1,male,4-graduate school,married,40,0.0,1,0,0.0,0,4.5 0,female,4-graduate school,married,40,0.0,1,0,0.0,0,1.1 1,female,2-university,married,30,2.91972,2,0,0.041829053183525415,6,3.1 0,male,4-graduate school,single,20,0.17711,0,0,0.07404282248707943,5,0.2 0,male,2-university,single,20,0.0,1,0,0.0,0,0.2 0,male,1-high school,single,50,1.06583,0,0,0.03584848789309756,6,2.0 1,male,4-graduate school,married,30,1.59081,0,0,0.039983851849306834,6,1.8 1,male,2-university,married,50,0.02347,0,0,0.25647601949217746,6,0.5 0,male,1-high school,married,50,0.58017,3,0,0.04074857607811229,6,0.6 0,female,4-graduate school,single,20,0.0,1,0,1.0,6,0.3 0,male,4-graduate school,single,40,0.0,1,0,1.0,5,2.4 0,male,2-university,married,30,2.4371,0,0,0.03933108099926133,6,4.2 0,male,1-high school,married,40,2.19179,0,0,0.03589557491944263,6,3.3 0,female,2-university,single,20,0.26452,0,0,0.07649646203863071,4,0.3 0,male,2-university,married,30,0.09174,0,0,0.12463647694225176,4,2.4 0,male,4-graduate school,single,20,0.14944,0,0,0.12925240409471617,6,1.5 0,female,2-university,married,30,0.05666,0,0,0.1875703388770789,6,2.1 1,female,1-high school,married,50,0.00452,0,0,1.0,2,0.5 0,male,4-graduate school,single,20,0.48441,0,0,0.04706539297608839,6,0.5 1,male,4-graduate school,single,40,0.0,1,0,0.0,0,2.4 0,male,2-university,single,20,0.01832,0,0,0.5,5,1.8 0,male,2-university,single,20,0.09131,1,0,0.09231053263177329,6,0.5 0,male,2-university,single,20,0.02159,0,1,1.0,6,1.7 0,male,4-graduate school,single,20,0.0,0,0,1.0,6,0.2 0,male,4-graduate school,single,20,0.03999,0,0,0.16911889058007779,5,0.5 1,female,2-university,single,20,0.17608,0,0,0.08177029488504899,5,1.7 0,male,4-graduate school,single,30,1.89236,1,0,0.04540501271340356,6,2.0 0,female,2-university,married,20,0.07518,1,0,0.1568142938604828,4,0.8 0,female,4-graduate school,married,60,0.0,1,0,1.0514018691588785,3,2.6 0,male,2-university,married,30,0.83172,0,0,0.044214378951140235,5,1.4 0,male,4-graduate school,single,20,0.12444,0,0,0.538174512055109,6,0.8 0,male,4-graduate school,single,40,0.0,1,0,1.0,3,3.5 0,female,2-university,married,50,2.00733,0,0,0.04410200164518783,6,2.8 0,female,1-high school,single,20,0.07314,0,0,0.16336728810301748,6,0.3 0,male,4-graduate school,married,30,0.18944,0,0,0.17825947449106921,6,1.4 0,female,4-graduate school,single,30,1.0142,0,0,0.03888402838534072,6,2.0 0,female,1-high school,single,30,1.88731,0,0,0.03721774419683598,6,2.0 1,male,1-high school,married,40,1.05307,2,0,0.08525353121135194,6,2.1 0,male,1-high school,married,50,0.12854,3,0,0.11898564735628765,5,0.5 0,male,4-graduate school,single,40,0.20857,2,0,0.12749062033293265,4,0.3 0,male,2-university,single,20,0.0,2,0,1.0,5,0.5 0,male,1-high school,married,40,0.00838,0,0,1.0,5,2.9 0,female,4-graduate school,married,30,1.23229,0,0,0.1147152201354091,5,2.5 0,female,2-university,married,40,0.18148,0,0,0.12603453346216864,6,0.6 0,female,4-graduate school,single,20,0.9614,0,0,0.05248342001049668,6,1.1 0,male,4-graduate school,single,50,0.0,0,1,1.0167217448777264,6,3.7 0,male,2-university,married,20,0.99183,0,0,0.03269073900069181,5,1.0 0,female,2-university,married,30,0.68612,0,0,0.047390798061039345,5,0.9 0,female,2-university,single,20,0.2653,0,0,0.051904303588615426,6,0.5 0,male,2-university,single,30,0.32695,0,0,0.14971404617181183,6,2.7 0,female,4-graduate school,single,30,0.0,0,0,1.002439024390244,5,3.0 0,female,2-university,single,20,0.0,0,0,0.9821253191907288,5,0.5 1,female,4-graduate school,single,20,0.0,1,0,0.0,0,0.5 0,male,4-graduate school,single,20,0.0,1,0,1.0,1,3.6 1,male,1-high school,married,50,0.61617,1,0,0.045469702021886084,4,1.3 0,male,4-graduate school,single,30,0.05683,0,1,2.0,5,0.8 0,male,2-university,single,30,0.4886,1,0,0.031015445691954593,4,0.5 0,female,2-university,single,20,0.14789,0,0,0.09602281730312154,6,0.2 0,female,2-university,married,20,0.72083,0,0,0.07089511190426716,5,0.8 0,male,4-graduate school,single,30,0.0,0,0,0.5643765520355181,4,2.4 0,female,1-high school,single,30,0.37108,0,0,1.0070899129874316,6,0.8 0,female,4-graduate school,married,40,0.0,0,0,0.6329102480653793,6,5.0 1,female,2-university,married,20,0.55524,0,0,0.04318460555181289,6,0.6 0,male,2-university,single,20,0.09442,0,0,0.10276612143530016,5,0.2 1,female,2-university,married,30,0.14483,1,0,0.10441819487045617,4,1.0 0,female,4-graduate school,single,30,0.0,1,0,1.000175201920213,6,3.6 1,female,1-high school,single,40,1.91222,2,0,0.040473621191739716,5,2.0 0,female,2-university,married,30,0.0,1,0,1.0,6,1.3 0,female,2-university,single,30,0.21703,1,0,0.04659615115791436,2,0.2 0,male,4-graduate school,single,30,0.49881,0,0,0.16123063060163806,6,3.1 1,female,4-graduate school,single,20,0.18283,2,0,0.06595566914041381,5,0.6 0,female,4-graduate school,single,20,0.11187,0,0,1.0,4,1.8 0,female,4-graduate school,single,20,0.0,0,0,1.7144474125050935,2,1.8 0,male,2-university,married,30,0.4579,0,0,0.11041183614883515,6,0.5 1,female,4-graduate school,single,20,0.34266,1,0,0.0510917500268904,5,0.5 0,female,2-university,married,30,0.0,0,1,1.0,2,1.5 0,female,4-graduate school,single,20,0.17053,0,0,0.0771366862079605,6,0.2 0,female,4-graduate school,married,30,0.00274,0,1,1.0,6,5.0 1,female,1-high school,single,20,0.2801,1,0,0.03418102269619907,4,0.3
Build a single-file HTML page I can open by double-clicking it, no server. Load Apache ECharts from the jsdelivr CDN with one script tag. Below is a CSV block with [N] rows of my data. Embed it in the page as a JavaScript string and parse it there. Do not fetch anything at runtime. My outcome column is [outcome], coded 1 or 0. Draw one bar chart, the rate of [outcome] = 1 for each value of [categorical column], as a percent, computed from the embedded rows. [paste: your CSV block]
Hover a bar and see that group's accounts, defaults, and rate. A second series shows each group's share of the 200 accounts, with a legend that toggles either series on and off.
Start from the page you just built. Add two things. First, tooltips. Hovering a bar should show that group's number of accounts, the number that defaulted, and the default rate. Second, a second bar series showing each group's share of the 200 accounts, as a percent, with a legend so I can toggle either series on and off.
Start from the page you just built. Add two things. First, tooltips. Hovering a bar should show that group's row count, its count of [outcome] = 1, and the rate. Second, a second bar series showing each group's share of the [N] rows, as a percent, with a legend so I can toggle either series on and off.
The pinned coefficients go in and every account gets a score at load. A threshold slider recomputes flagged, precision, recall, and expected cost on every move, with a confusion chart that re-renders. Nothing is read from a saved table. Note the acceptance checks at the end of the prompt. You verify the page against your notebook before you accept it.
Start from the page you just built. Score every embedded account with
my fitted logistic model:
z = -0.817763
- 0.220615 * credit_limit
+ 0.115282 * outstanding_balance
+ 1.088293 * pay_this_month
+ 0.036359 * no_activity_this_month
- 0.142959 * last_payment_portion
- 0.133412 * num_recent_payments
P(default) = 1 / (1 + exp(-z))
Compute the 200 probabilities once at load, in the page's JavaScript,
with the coefficients embedded in the code. Do not fetch anything.
Add a slider for the flag threshold, 0.05 to 0.95, step 0.01, starting
at 0.50, with the current value shown next to it. An account is flagged
when its probability is greater than or equal to the threshold. On
every slider move, recompute and display four readouts. Flagged
accounts, a count. Precision, the share of flagged accounts where
bad_ar is 1. Recall, the share of all bad_ar = 1 accounts that get
flagged. Expected cost, where a missed default costs 20 units and a
false flag costs 1 unit. Show precision and recall to 4 decimal places.
Show n/a for precision when nothing is flagged. Add a bar chart of the
four confusion counts, true positive, false positive, false negative,
true negative, that re-renders on every slider move.
Acceptance checks. Run them before you hand the page back. At threshold
0.50 the readouts must show flagged 25, precision 0.5600, recall
0.3043, expected cost 651. At threshold 0.30 they must show flagged 50,
precision 0.5000, recall 0.5435, expected cost 445. If either row does
not match, the wiring is wrong. Fix it before you show me anything.
Start from the page you just built. Score every embedded row with my
fitted logistic model:
z = [intercept]
+ [coefficient 1] * [predictor 1]
+ [coefficient 2] * [predictor 2]
+ [one line per predictor, straight from your notebook's fit]
P = 1 / (1 + exp(-z))
Compute the probabilities once at load, in the page's JavaScript, with
the coefficients embedded in the code. Do not fetch anything.
Add a slider for the flag threshold, 0.05 to 0.95, step 0.01, starting
at 0.50, with the current value shown next to it. A row is flagged when
its probability is greater than or equal to the threshold. On every
slider move, recompute and display four readouts. Flagged rows, a
count. Precision, the share of flagged rows where [outcome] is 1.
Recall, the share of all [outcome] = 1 rows that get flagged. Expected
cost, where a missed [event] costs [C_miss] units and a false flag
costs [C_false] units. Show precision and recall to 4 decimal places.
Show n/a for precision when nothing is flagged. Add a bar chart of the
four confusion counts, true positive, false positive, false negative,
true negative, that re-renders on every slider move.
Acceptance checks. Run them before you hand the page back. Check the
readouts at two thresholds against the same numbers computed in your
notebook:
[paste: your two spot-check rows, threshold, flagged, precision,
recall, expected cost]
If either row does not match, the wiring is wrong. Fix it before you
show me anything.
A short block a manager can read without touching the slider, and the code builds every sentence from the computed numbers. It recommends the lowest-cost threshold that fits a 50-account review capacity, compares it to the 0.50 starting point, and tracks the slider as you move it. On this data it lands on 0.30 at 445 units against 651 at 0.50.
Start from the page you just built. Add a findings panel under the readouts, a short block a manager can read without touching the slider. The code must build every sentence from the computed numbers. No numbers typed in as fixed text. Two parts. First, a recommendation. Assume the credit team can work through about 50 flagged accounts per review cycle. Sweep thresholds from 0.05 to 0.95 in steps of 0.05, keep the ones that flag 50 accounts or fewer, and recommend the one with the lowest expected cost. State the recommended threshold, its flagged count, and its expected cost, and compare that cost to the cost at the 0.50 starting point. Second, a line that tracks the slider. At the current threshold, state how many accounts are flagged and the expected cost. Update it on every slider move.
Start from the page you just built. Add a findings panel under the readouts, a short block a manager can read without touching the slider. The code must build every sentence from the computed numbers. No numbers typed in as fixed text. Two parts. First, a recommendation. Assume the team can work through about [capacity] flagged rows per review cycle. Sweep thresholds from 0.05 to 0.95 in steps of 0.05, keep the ones that flag [capacity] rows or fewer, and recommend the one with the lowest expected cost. State the recommended threshold, its flagged count, and its expected cost, and compare that cost to the cost at the 0.50 starting point. Second, a line that tracks the slider. At the current threshold, state how many rows are flagged and the expected cost. Update it on every slider move.
Polish only, no numbers change. Title and subtitle, per-chart headings, labeled axes with units, value axes that start at zero, one accent color, readouts labeled with their units, and a footer naming the data file, the model, and the cost units. This is the finished dashboard.
Last pass, polish only. Change no numbers. Give the page one consistent look. One font family, dark text on a white background, one accent color, #CC0000, for the default-rate series and the readout values, grays for everything else. Put a page title at the top, Credit Default Risk Dashboard, with a one-line subtitle saying what the page does and that the sample is the first 200 accounts of ar_default_data.csv. Give each chart its own heading. Label each axis and state its units. Make every value axis start at zero. Label the four readouts with their units, accounts for the flagged count, units for the expected cost, and a one-line meaning for precision and recall. Add a one-line footer naming the data file, the model, and the cost units. Keep everything in one file that works from a double-click.
Last pass, polish only. Change no numbers. Give the page one consistent look. One font family, dark text on a white background, one accent color, [your hex], for the main series and the readout values, grays for everything else. Put a page title at the top, [your title], with a one-line subtitle saying what the page does and what sample it runs on. Give each chart its own heading. Label each axis and state its units. Make every value axis start at zero. Label the four readouts with their units. Add a one-line footer naming the data file, the model, and the cost units. Keep everything in one file that works from a double-click.
Week 10 of ACCTG 5150, Accounting Analytics. Every artifact on this page is a single HTML file running live in your browser.