sql >> Database >  >> RDS >> Database

Een Peer-to-Peer Lending Platform-gegevensmodel

Er zijn veel online portals waarmee beleggers rechtstreeks geld kunnen lenen aan individuele leners - zonder dat banken als tussenpersoon optreden. Welk datamodel zou aan zo'n site kunnen liggen?

Online leenplatforms brengen leners en investeerders bij elkaar en laten ze kiezen aan wie ze hun geld willen uitlenen (in het geval van investeerders) en van wie ze geld willen lenen (in het geval van leners). Sommige peer-to-peer-leensites stellen kredietnemers en investeerders ook in staat om hun eigen deals te sluiten in termen van leentarieven (d.w.z. rentetarieven) en looptijd van leningen.

Laten we eens kijken hoe deze portals werken en dan verder gaan met een datamodel dat ze zou kunnen ondersteunen.

Hoe werken peer-to-peer leenplatforms?

  • Leners verstrekken het gewenste geleende bedrag en relevante details zoals leeftijd, werk, huidig ​​inkomen, huidige leningen, kredietscore, gemiddeld maandelijks banksaldo, salarisschema voor de laatste zes maanden, eventuele vragen of wanbetalingen op hun rekeningen in de laatste twaalf maanden, hun reden van lenen, intentie om te betalen, enz.
  • Beleggers registreren zich door relevante gegevens in te vullen, waaronder het totale bedrag dat ze willen investeren. Houd er rekening mee dat ze moeten voldoen aan KYC (Know Your Customer) en belastingvoorschriften. KYC is een proces dat veel wordt gebruikt door financiële instellingen om beknopte informatie te verkrijgen over de identiteit van een lener/klant.
  • De portals screenen de profielen van leners en kennen hen risicoclassificaties toe (A tot F; A staat voor beste rating en F staat voor slechtste) op basis van hun huidige en recente financiële statistieken uit het verleden en hun leenvereisten.
  • Portalen kunnen ook de looptijd van leningen en rentetarieven bepalen; deze zijn voornamelijk gebaseerd op de risicobeoordelingen van klanten.
  • Leningsverzoeken van leners (laten we ze vanaf nu 'leningtickets' noemen) worden pas weergegeven (weergegeven op de portal) nadat het screeningproces voor die klant is voltooid.
  • Geregistreerde beleggers kunnen beursgenoteerde leningtickets en de bijbehorende risicoclassificaties, leenvereisten en andere relevante details bekijken. Deze helpen hen een beslissing te nemen over hun investeringen.
  • Om aan een leningsticket te voldoen, kunnen investeerders elk bedrag bijdragen, van het minimum van de portal (zeg $ 50) tot het totale geleende bedrag.
  • Zodra aan een leenticket is voldaan, moeten de investeerders die hebben bijgedragen aan het leenticket geld vrijgeven aan de lener. Gewoonlijk maken alle financiële transacties van de uitleensite gebruik van geblokkeerde rekeningen.
  • Zodra het geleende bedrag is uitbetaald, betalen leners het bedrag terug in de vorm van EMI's (gelijkgestelde maandelijkse afbetalingen). EMI's worden verzameld op geblokkeerde rekeningen en worden uiteindelijk teruggegeven aan investeerders op basis van hun aandelen in het leningticket.
  • EMI-betalingen omvatten bijdragen aan zowel de hoofdsom van de lening als de rente. In de beginfase vormen rentebetalingen het grootste deel van het EMI.
  • Er zijn twee mogelijke leningscenario's:leners betalen een deel van of het gehele uitstaande bedrag vooraf of de EMI-betaling wordt vertraagd. Deze vertragingen kunnen variëren van een paar dagen tot een paar maanden. Als betalingen worden uitgesteld, zijn leners onderworpen aan extra rente en een boete voor in gebreke blijvende EMI's.
  • Als leners een deel van een uitstaand geleend bedrag betalen, wordt dit verdeeld onder de investeerders op basis van hun aandelen in het leenticket.

Het gegevensmodel

Hieronder ziet u het volledige datamodel. Het draait voornamelijk om twee entiteiten:de investeerders die geld uitlenen en de leners die erom vragen.




Sectie 1:Investeerder

Online peer-to-peer (P2P) leenplatforms stellen mensen in staat zich als investeerders te registreren door hun basisgegevens in te voeren, inclusief betalingsmethoden en genomineerden. Het legt ook alle transacties vast die ze maken tegen hun geblokkeerde rekening met het P2P-platform.

De investor tabel slaat de basisgegevens van beleggers op. De meeste kolommen in deze tabel spreken voor zich, behalve:

  • id – Een unieke identificatie die aan elke individuele belegger wordt gegeven.
  • tax_id – Belasting-ID van de overheid van de belegger (of, in de VS, hun burgerservicenummer (SSN)). Deze kolom helpt het platform te voldoen aan de belastingregels.
  • kyc_complete – Het KYC-proces wordt uitgevoerd om de volledige details van investeerders vast te leggen. Deze kolom bevat een Y of een N, afhankelijk van of het proces voor die belegger is voltooid.
  • escrow_account_number – Elke belegger krijgt een unieke escrow-rekening toegewezen. Alle financiële transacties tussen investeerders en kredietnemers vinden plaats via deze geblokkeerde rekening.
  • fund_committed – Het bedrag dat de belegger (tot nu toe) heeft toegezegd voor investeringen.

De nominee tabel bevat informatie over de genomineerden van investeerders. Alle investeerders kunnen genomineerden in hun profiel registreren. Genomineerden zijn mensen die bekend zijn bij de belegger – hoogstwaarschijnlijk hun familieleden of vrienden – die recht hebben op betalingen als de belegger overlijdt. Alle kolommen in deze tabel spreken voor zich.

Het account_statement tabel bevat de details van alle transacties die door beleggers zijn uitgevoerd. Een transactie kan zowel een storting als een opname zijn. Wanneer een belegger wat geld op zijn geblokkeerde rekening zet, is dit een 'storting'-transactie. Een 'opname'-transactie vindt plaats wanneer een belegger een deel of al het geld van zijn geblokkeerde rekening opneemt. In beide gevallen is de closing_balance wordt dienovereenkomstig bijgewerkt.

De payment_method tabel bevat informatie over de betalingsmethoden die worden gebruikt om geld toe te voegen aan hun geblokkeerde rekening. Beleggers kunnen meerdere bankrekeningen toevoegen om hun geld te storten of op te nemen. De kolommen in deze tabel spreken voor zich.

Sectie 2:Lener

In dit onderwerp wordt uitgelegd hoe we gegevens van leners vastleggen en onderhouden; het geeft ons ook inzicht in de processen die betrokken zijn bij de verificatie van kredietnemers, of het begrijpen van hun vermogen en bereidheid om terug te betalen.

Het proces begint met het registreren van leners op de site. We zullen informatie vastleggen over hun opleiding, beroep, financiële status en leenvereisten. Portalen leggen meestal educatieve details vast omdat ze een sleutelrol spelen in het besluitvormingsproces van investeerders, vooral wanneer kredietnemers geen gunstige arbeidsgegevens hebben. Financiële gegevens zijn onder meer hun maandelijks inkomen, eventuele huidige uitstaande schulden, bankafschriften van de afgelopen zes maanden, eventuele recent teruggestuurde cheques en of ze een regelmatig inkomen hebben.

Zodra dit verificatieproces is voltooid, krijgen leners een risicoclassificatie toegewezen. Hun leenvereisten (d.w.z. leentickets) worden op de portal beschikbaar gesteld voor openbare weergave. Op elk willekeurig moment kunnen beleggers alle openstaande leningtickets bekijken, d.w.z. diegene die nog niet voor 100% zijn gefinancierd.

De borrower tabel bevat de profielgegevens van leners, die worden vastgelegd in het registratieproces. De kolommen in deze tabel spreken voor zich, behalve de volgende:

  • kyc_complete – Heeft een Y of een N, afhankelijk van of het KYC-proces is voltooid voor deze lener.
  • highest_qualification – De hoogste opleiding van deze lener; bijv. bachelordiploma, graduaat, enz.
  • passout_year – Het jaar waarin de lener zijn hoogste kwalificatie heeft behaald.
  • university_name – De universiteit waar de lener zijn hoogste kwalificatie heeft behaald.

De employment_detail tabel slaat de arbeidsgegevens van leners op. De kolommen in deze tabel spreken voor zich.

Zodra het portaal de basisgegevens van leners verifieert, maakt het leningtickets voor hun behoeften en legt het hun activa en passiva vast. Details over activa en passiva worden ter referentie aan beleggers ter beschikking gesteld. Beleggers moeten mogelijk naar deze details verwijzen om het vermogen van kredietnemers om terug te betalen te bepalen.

Voor elke leenbehoefte wordt een leenticket aangemaakt. Deze informatie wordt opgeslagen in het loan_ticket tafel. De kolommen zijn:

  • id – Een uniek nummer dat aan elk leenticket wordt gegeven.
  • borrower_id – Een kolom waarnaar wordt verwezen uit de lenerstabel.
  • loan_amount – Het gewenste leenbedrag.
  • loan_tenure_in_months – Het aantal maanden waarin de lening wordt terugbetaald.
  • interest_rate – Het rentepercentage voor die lening.
  • risk_rating – Aan elke kredietnemer wordt een risicoclassificatie toegekend. Het hangt af van hun activa, passiva en andere financiële details.
  • reason_for_loan – Waarom de lener deze lening nodig heeft. De reden voor een lening is voor sommige beleggers een belangrijke factor. Sommige investeerders geven er bijvoorbeeld de voorkeur aan om te investeren om onderwijsredenen of schuldconsolidatie, maar ze kunnen wegblijven van leningen die een vakantie financieren.
  • ability_to_repay – De portal legt opsommingstekens vast die verwijzen naar het vermogen van de lener om een ​​lening terug te betalen. Deze punten worden door beleggers in overweging genomen tijdens hun besluitvormingsproces.
  • risk_factors – In deze kolom wordt informatie opgeslagen die door de portal is vastgelegd met betrekking tot de risico's die gepaard gaan met beleggen in deze lening.

Risicoclassificaties worden berekend via een algoritme dat is gebaseerd op de gegevens die door de kredietnemer zijn ingediend. Een platformmedewerker beoordeelt het profiel van elke lener, valideert hun financiële gegevens (inclusief hun kredietscore) en kan de risicobeoordeling, het geleende bedrag manipuleren (bijvoorbeeld door het bedrag indien nodig te verlagen) en de looptijd van de lening tijdens de verwerking van de leningaanvraag.

De borrower_liability tabel bevat details over de uitstaande leningen van kredietnemers. De kolommen in deze tabel zijn:

  • id – De primaire sleutel van de tabel.
  • loan_ticket_id – Verwijst naar het loan_ticket tafel.
  • liability_cost –Het uitstaande bedrag van de lening.
  • liability_type – Het soort aansprakelijkheid, bijv. woonkrediet, autolening, persoonlijke lening, enz.
  • liability_start_date – De datum waarop de lening is aangegaan.
  • liability_end_date – De datum waarop de lening volledig wordt afbetaald.

De borrower_asset tabel bevat informatie over de activa en investeringen van leners. Deze activa kunnen vaste deposito's, onroerend goed en beleggingen (eigen vermogen/schuld) zijn die leners geheel of gedeeltelijk bezitten. Het is niet echt een onderpand voor de lening, maar het kan indien nodig worden geliquideerd. Bovendien maakt het verstrekken van activadetails het profiel van een lener sterker. De kolommen in deze tabel zijn:

  • id – De primaire sleutel van de tabel.
  • loan_ticket_id – Verwijst naar de loan_ticket-tabel.
  • asset_type – Het type activum, b.v. onroerend goed, vast deposito, beleggingsfondsen, aandelen, enz.
  • asset_value – De huidige marktwaarde van het actief.
  • ownership_percentage – Het eigendomspercentage van de lener. Sommige activa worden gekocht in samenwerking met een andere persoon.
  • possession_since – De datum waarop de lener dit actief heeft verworven.

Sectie 3:Leningvervulling en terugbetaling

Dit onderwerp bevat de details van leningvoorstellen, uitvoering en terugbetaling.

De investor_proposal tabel slaat gegevens op die verband houden met voorstellen van investeerders over leningtickets. Nadat leningtickets op het portaal zijn geplaatst, kunnen investeerders hun voorstellen daarop indienen. De meeste kolommen in deze tabel spreken voor zich, behalve:

  • proposal_amount – Het bedrag dat de belegger wil lenen. Investeerders kunnen bedragen voorstellen tot 100% van het leenticket.
  • proposal_date – De datum waarop het voorstel is ingediend.
  • cancel_date – Investeerders kunnen voorstellen annuleren die niet zijn omgezet in uitbetalingsverzoeken. Deze kolom bevat de datum (indien van toepassing) waarop het voorstel werd geannuleerd.
  • last_update_date – Investeerders kunnen ook het bedrag van een voorstel wijzigen, maar alleen voordat het wordt omgezet in een uitbetalingsverzoek. Deze kolom bevat de datum van de meest recente voorstel-update.

Laten we nu verder gaan met de loan_ticket_fulfilment tafel. Zodra een leenticket volledig is gefinancierd, worden uitvoeringsverzoeken gemaakt om aan het leenticket te voldoen. Deze nakomingsverzoeken worden ook wel uitbetalingsverzoeken genoemd, d.w.z. voor de investeerders om het geld op de rekening van de lener vrij te geven. (Opmerking:deze tabel bevat ook EMI- en pre-sluitingsinformatie, die we afzonderlijk zullen bespreken.) De kolommen in deze tabel zijn:

  • id – Een uniek nummer toegewezen aan elk uitvoeringsverzoek. Als er 10 investeerders zijn die bijdragen aan een leenticket, zouden er 10 records in deze tabel zijn die verwijzen naar dat leenticket.
  • investor_proposal_id – De ID van elke belegger die heeft bijgedragen aan het leenticket; dit verwijst ook naar het bedrag dat de belegger moet vrijgeven.
  • release_date_from_investor – De datum waarop de belegger geld op de geblokkeerde rekening heeft gestort.
  • disburse_date_to_borrower – De datum waarop het bedrag op de rekening van de lener wordt bijgeschreven. Meestal vinden beide transacties op dezelfde dag plaats of met een onderbreking van één werkdag.
  • last_update_date – Deze kolom wordt bijgewerkt wanneer een record wordt bijgewerkt.

De loan_ticket_fulfillment tabel bevat ook informatie over het aandeel van elke belegger in pre-EMI- en EMI-uitbetalingen. Wanneer leners slechts een deel van hun geleende bedrag hebben gebruikt, hoeven ze alleen rente te betalen over het uitbetaalde bedrag (totdat het volledige geleende bedrag beschikbaar is). Deze rente wordt pre-EMI-rente (PEMI) genoemd en is maandelijks betaalbaar totdat de laatste uitbetaling is gedaan, waarna de EMI's beginnen.

  • pre_emi_due_date – De datum waarop de pre-emi vervalt. Gewoonlijk is het de laatste dag van de maand waarop die lening is voldaan.
  • pre_emi_amount – Het berekende bedrag aan pre-emi.
  • emi_amount – Het bedrag dat de lener maandelijks betaalt.
  • emi_start_date – De datum waarop de EMI begint. Meestal is het de eerste dag van de volgende maand (een lening wordt bijvoorbeeld op 13 januari voldaan en EMI begint op 1 februari).
  • emi_end_date – De datum waarop de lener het laatste EMI moet betalen. Dit is een berekende kolom die wordt bijgewerkt op het moment dat de lening wordt voldaan. Als de looptijd van een lening 12 maanden is en de EMI-startdatum 1 februari 2019 is, wordt de laatste EMI op 1 januari 2020 betaald.
  • number_of_total_emi – Het aantal EMI's dat in deze lening moet worden betaald.

Leners kunnen hun lening vervroegd afsluiten (aflossen) door de uitstaande hoofdsom in zijn geheel te betalen. In bancaire termen staat dit bekend als de ‘pre-closing’ van een lening. Een lener kan de lening voor een of meer geldschieters tegelijk afsluiten door het aandeel van die geldschieter in de uitstaande hoofdsom te betalen. Ik heb twee kolommen aan de tabel toegevoegd om deze zaak te behandelen:

  • pre_closure_flag – Deze kolom geeft aan of de lening vooraf is afgesloten. Standaard blijft deze kolom leeg.
  • pre_closure_date – De datum waarop de lening vooraf is afgesloten. Voor een lopende lening blijft deze kolom leeg.

Het loan_repayment_schedule tabel bevat details over terugbetalingen van leningen. Zodra een lening is uitbetaald, worden voor elk EMI-betalingsschema records in deze tabel ingevoegd. Als er bijvoorbeeld 10 investeerders zijn die in één leningsticket hebben geïnvesteerd, zouden er 10 records zijn in de loan_ticket_fulfillment tafel. Als de looptijd van die lening 12 maanden is, wordt de loan_repayment_schedule tabel zal 120 records bevatten (10 records x 12 maanden).

Bekijk voordat we verder gaan een voorbeeld van een terugbetalingsschema:

Verschillende kolommen in het loan_repayment_schedule tabel zijn bedragkolommen, gemaakt om het verschuldigde bedrag en de betaalde bedragen aan verschillende EMI-componenten op te slaan. Enkele van de andere kolommen zijn:

  • id – Een uniek nummer toegewezen aan elke betaling.
  • loan_ticket_fulfillment_id – Deze kolom bevat details met betrekking tot de investeerder, het leenticket en de lener.
  • is_emi_payment_defaulted – Als het EMI niet op de vervaldatum is betaald, wordt deze kolom bijgewerkt met 'Y'. Standaard blijft deze kolom leeg.
  • is_emi_payment_advanced – Als een of meer toekomstige EMI's al zijn betaald, wordt deze kolom bijgewerkt naar 'Y' voor al die records.

Wat vindt u van het gegevensmodel van het uitleenplatform?

Denkt u dat het complex is om kredietnemers en investeerders hun eigen kredietovereenkomsten te laten sluiten? Welke veranderingen heeft dit datamodel nodig als we hen zouden toestaan ​​te onderhandelen over leentarieven en huurtermijnen?

Laat ons uw mening weten in het opmerkingengedeelte.


  1. Wanneer en hoe de SQL PARTITION BY-clausule te gebruiken?

  2. Manieren om SQL Server te repareren Detecteerde een op logische consistentie gebaseerde I/O-fout

  3. SQL SERVER - Truc - SSMS uitvoeren met een ander Windows-account

  4. Verbinding maken met AWS MySQL / MariaDB RDS of EC2-database vanuit MySQL WorkBench