# Prompts voor data-analyse [[TOC]] ## AI als data-analist AI-modellen zijn krachtige hulpmiddelen voor data-analyse. Ze kunnen SQL-queries genereren, Python-analysescripts schrijven, statistieken interpreteren, patronen in data benoemen en inzichten vertalen naar begrijpelijke conclusies. Maar een AI is geen vervanging voor een data-analist. Het model kent je data niet, begrijpt je businesscontext niet en mist de intuïtie die komt van jaren domeinervaring. Jij levert de context, het model levert de technische uitvoering en een eerste interpretatie. ## SQL-query genereren SQL-prompts werken het beste als je het databaseschema meegeeft: ```text Schrijf een SQL-query voor PostgreSQL. Schema: - orders (id, customer_id, product_id, quantity, price, created_at, status) - customers (id, name, email, country, created_at) - products (id, name, category, cost_price) Vraag: geef de top 5 landen op omzet in de afgelopen 90 dagen, exclusief geannuleerde orders. Toon: land, aantal orders, totale omzet, gemiddelde orderwaarde. ``` Door het schema expliciet mee te geven voorkom je hallucinaties over kolomnamen en tabellen die niet bestaan. :::info title="Geef altijd het schema mee" Een model dat je schema niet kent, verzint kolomnamen die niet bestaan. Dit is de meest voorkomende fout bij SQL-codegeneratie. Plak het schema, een paar voorbeeldrijen en het databasedialect (PostgreSQL, MySQL, BigQuery) in je prompt. ::: ## Dataverkenning en statistieken Voor verkennende analyse in Python: ```text Schrijf een Python-script dat een CSV-bestand inlaadt (pandas) en de volgende verkenning uitvoert: 1. Basisstatistieken per kolom (count, mean, std, min, max) 2. Percentage ontbrekende waarden per kolom 3. Voor numerieke kolommen: histogram (matplotlib) 4. Voor categorische kolommen: bar chart met top 10 waarden 5. Correlatiematrix als heatmap Bestand: sales_data.csv Kolommen: date, product_id, quantity, price, customer_id, region ``` ## Data interpreteren Je kunt ruwe data of statistieken aanleveren en om interpretatie vragen: ```text Hier zijn de maandelijkse omzetcijfers: Jan: 45.230, Feb: 48.100, Mrt: 52.800, Apr: 49.100, Mei: 53.400, Jun: 61.200, Jul: 58.900, Aug: 57.300, Sep: 63.100, Okt: 69.400, Nov: 82.100, Dec: 95.700 Analyseer de trend. Identificeer seizoenspatronen, maanden met afwijkende groei of daling, en geef een prognose voor het volgende kwartaal op basis van de zichtbare trend. Benoem expliciet je aannames. ``` Vraag het model om zijn aannames te benoemen. Zo zie je meteen waar de interpretatie wankel is. :::howto title="Zo bouw je een goede data-analyseprompt" 1. **Geef het schema of de datastructuur.** Vraag nooit om SQL of code zonder de structuur te specificeren. 2. **Benoem de businessvraag expliciet.** "Welke klanten zijn het meest waardevol?" is concreter dan "analyseer de klantendata". 3. **Vraag om interpretatie en conclusies**, niet alleen om de query of het script, maar ook om wat het resultaat betekent. 4. **Vraag om aanbevelingen**, bijvoorbeeld: "Wat zou je op basis van deze analyse aanbevelen?" 5. **Controleer de logica.** Valideer SQL en scripts altijd voordat je ze uitvoert op productiedata. ::: ## Dashboards en visualisaties ```text Schrijf Python-code (matplotlib en seaborn) voor een dashboard met vier subplots: 1. Lijndiagram: dagelijkse omzet afgelopen 30 dagen 2. Staafdiagram: omzet per productcategorie 3. Scatterplot: omzet vs. marketinguitgaven per regio 4. Heatmap: dagelijkse omzet per dag van de week x uur van de dag Gebruik een consistent kleurschema (blauw, wit, oranje). Voeg titels en aslabels toe. Sla op als PNG op 300 DPI. ``` ## Outliers en anomalieën detecteren ```text Schrijf een Python-functie die outliers detecteert in een pandas DataFrame. Gebruik zowel de IQR-methode als de Z-score. Retourneer een DataFrame met de outliers en de gebruikte methode. Parameters: df (DataFrame), kolom (str), methode ('iqr', 'zscore' of 'beide'). Voeg voorbeeldgebruik toe. ``` :::warning title="Interpretaties zijn een startpunt, geen eindconclusie" AI-modellen kunnen statistieken onjuist interpreteren, correlatie als causaliteit presenteren of een trend overfitten op te weinig data. Gebruik AI-interpretaties als startpunt en valideer altijd met een domeinexpert. ::: ## Rapportage genereren Combineer data met een schrijfprompt voor automatische rapportage: ```text Je bent een business analyst. Schrijf een executive summary op basis van de volgende KPI-data: [data hier] Structuur: drie alinea's. Eerste alinea: samenvatting van de resultaten. Tweede alinea: positieve ontwikkelingen met oorzaken. Derde alinea: verbeterpunten en aanbevelingen. Formele, zakelijke toon. Maximaal 300 woorden. ``` :::tip title="Werk iteratief met kleine stappen" Vraag eerst om de aanpak in stappen, voer dan stap voor stap uit en stuur de tussenresultaten terug. Zo houd je grip op de analyse en betrap je het model sneller op fouten dan wanneer je in één keer om een volledig rapport vraagt. ::: ## Veilig omgaan met gevoelige data Data-analyse raakt al snel aan vertrouwelijke informatie. Houd je aan een paar basisregels: - Anonimiseer of pseudonimiseer persoonsgegevens voordat je ze in een prompt plakt. - Stuur geen klantgegevens naar externe diensten zonder een geldige juridische basis. - Controleer in het privacy- en dataverwerkingsbeleid van je provider of ingevoerde data wordt gebruikt voor training. - Plak liever het schema en een paar voorbeeldrijen dan de volledige dataset, dat is vaak genoeg om goede code te krijgen. :::faq ### Hoe betrouwbaar is AI-gegenereerde SQL? Goed bij eenvoudige queries op een duidelijk schema. Complexere queries met meerdere joins, window functions of recursie vereisen altijd handmatige review. Test elke query eerst op een kopie van de data. ### Kan ik gevoelige bedrijfsdata naar een AI sturen voor analyse? Controleer altijd het privacybeleid van je provider. Anonimiseer gevoelige data eerst, of gebruik een model dat binnen je eigen omgeving draait. Stuur nooit klantpersoonsgegevens naar externe diensten zonder juridische basis. ### Wat zijn de limieten voor data in de context? Grote CSV-bestanden passen niet in de context. Vanaf een paar honderd rijen kun je beter een Python- of SQL-script laten genereren dat de data verwerkt, dan de data zelf in de prompt plakken. ### Werkt AI voor exploratieve data-analyse (EDA)? Ja, uitstekend als assistent. Je beschrijft de data, het model schrijft de EDA-code, jij voert die uit en interpreteert de resultaten. Itereer door de output terug te sturen voor verdere analyse. ### Hoe voorkom ik dat het model kolommen verzint? Geef het volledige schema mee, inclusief tabel- en kolomnamen en het databasedialect. Voeg een paar voorbeeldrijen toe zodat het model de datatypes ziet. Vraag het model om aan te geven welke aannames het maakt over de structuur. ### Moet ik het model om uitleg bij de code vragen? Ja. Vraag om commentaar in de code en een korte toelichting per stap. Zo controleer je makkelijker of de logica klopt voordat je iets op echte data draait. ::: AI als data-analyseassistent bespaart veel tijd bij routineanalyses, scriptgeneratie en interpretatie. Het werkt het best als aanvulling op je eigen domeinkennis, niet als vervanging ervan.