Ontwerpvisie
Waarom de ene app Max helpt en de andere hem schaadt
Onze stellingname
Hetzelfde model, dezelfde data, dezelfde voorspelling. Het ethische verschil zit niet in de AI, maar in wat je de gebruiker laat zien, wat je verzwijgt en wie er belang heeft bij de uitkomst.
Goedaardig
De AI augmenteert Max' beslissing: hij krijgt een eerlijke inschatting, begrijpt waarom, en houdt de keuze zelf. Doel: een bewuste beslissing, ook als die "nee" is.
Kwaadaardig
De AI wordt een verkooptool van een verborgen sponsor: het risico wordt kleiner gepresenteerd, data wordt verkocht en Max wordt met tijdsdruk naar "kopen" geduwd. Doel: conversie.
Model & data
Data
Het model is in Python (scikit-learn) getraind op historische BNPL-gegevens met de doelvariabele risicoklasse (Low / Medium / High). De data is Amerikaans en in dollars; de app rekent de invoer van Max om (€ 1 = $ , maandinkomen × 12 = jaarinkomen).
| Modelkenmerk | Hoe de app het invult |
|---|---|
| Income_USD | netto maandinkomen × 12, omgerekend naar dollars |
| Total_BNPL_Debt_USD | openstaande BNPL-schuld + deze aankoop |
| Total_BNPL_Active_Loans | lopende BNPL-aankopen + 1 (optioneel) |
| Late_Payment_History_Yes | ooit te laat betaald, ja/nee (optioneel) |
| Employment_Status_* | student / freelancer / werkloos, one-hot; werkend = referentie (optioneel) |
Ontbrekende optionele velden krijgen, net als in de Python-pipeline, de mediaan uit de trainingsdata (SimpleImputer). Vaste lasten vraagt de ethische app alleen optioneel voor het budgetadvies; het model gebruikt ze niet.
Het Random Forest
Random Forest met beslisbomen (max. diepte ), gestandaardiseerde kenmerken (StandardScaler). Het getrainde .joblib-model is met model/export_rf_model.py omgezet naar JavaScript, zodat de voorspelling zonder server in de browser draait en exact gelijk is aan Python.
beslisbomen
beslisknopen
3
klassen
Score en uitleg
Score = P(hoog) × 100 + P(gemiddeld) × 50; de categorie is de klasse met de hoogste kans. De uitleg per factor zijn exacte SHAP-waarden (tree-path-dependent, zoals shap.TreeExplainer), de zekerheid is het aandeel bomen dat het eens is. Een gemiste waarschuwing kost Max schulden, een onnodige alleen even nadenken: daarom waarschuwt de ethische app al bij gemiddeld.
Globale invloed per factor
De 3 AI-ethics risks
Per risico: welke ontwerpkeuze we maakten, en waarom dat goed- of kwaadaardig is.
De 7 AI UX-richtlijnen
Toegepast in de ethische app, bewust omgedraaid in de onethische app. Zet in de apps de annotaties aan om ze per scherm te zien.
User scenario's van Max
Design thinking: vanuit de persona (empathize) naar het scenario (define) naar twee prototypes.
Nuance: ook de "goede" app is niet neutraal
Werkstatus als kenmerk
Werkzoekenden en studenten krijgen gemiddeld een hogere score. Dat weerspiegelt de data (historical bias), maar kan groepen benadelen. Daarom is het veld optioneel. Let op: bij weglaten vult de pipeline de mediaan in, en dat is "werkend" — gunstig voor wie het weglaat.
Amerikaanse data
Het model is getraind op Amerikaanse data in dollars. Een Nederlandse student als Max valt met zijn inkomen ver onder het gemiddelde in die data (sample bias). Dat melden we bij de beperkingen.
Paternalisme
Ook een eerlijke waarschuwing stuurt gedrag. We kiezen voor "advies, geen verbod": Max kan altijd doorgaan. Autonomie weegt zwaarder dan het beste resultaat afdwingen.