Fund route matching method and system

By calculating the dynamic priority score of lending institutions and automatically predicting traffic, the system solves the problems of low efficiency and insufficient adaptability of existing fund routing systems, and achieves efficient and real-time fund routing matching and lending, thereby improving the system's automation level and user experience.

CN121724613APending Publication Date: 2026-03-24YI REN HENG YE TECH DEV (BEIJING) CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-30
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

The existing fund routing system is inefficient, highly dependent on manual intervention, and struggles to adapt to fluctuations in bank interfaces and transaction peaks, leading to routing congestion and imbalances in quota management, which in turn affects the scientific formulation of pricing strategies.

Method used

By calculating the dynamic priority score of lending institutions, and based on the quota plan completion rate, funding cost, approval rate prediction and failure probability, the highest priority lending institution is matched in real time for lending. The Holt-Winters model is used for traffic prediction and large model training to automatically classify rejection reasons, thereby realizing secondary routing and closed-loop control.

Benefits of technology

It improved the efficiency and adaptability of fund routing and matching, reduced manual intervention, achieved a daily quota error of less than 1%, and improved the loan success rate and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121724613A_ABST
    Figure CN121724613A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a fund route matching method and system. The method comprises the following steps: obtaining a loan request of a user, wherein the loan request comprises amount information, deadline information and regional information; matching a loan institution set according to the regional information; calculating a dynamic priority score of each loan institution in the loan institution set; sending the loan request to a first loan institution, wherein the first loan institution is the loan institution with the highest dynamic priority score in the loan institution set; obtaining a first processing result of the first loan institution based on the loan request; and fund loaning operation is carried out according to the first processing result. In this way, the efficiency of fund routing matching can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and more particularly to the field of internet finance technology. Background Technology

[0002] Fund routing largely operates on a "manual decision-making + static rules" model, resulting in low efficiency and insufficient adaptability. Firstly, the high reliance on manual intervention not only incurs significant manpower costs but also leads to slow response times, making it difficult to adapt in real-time to dynamic business changes such as fluctuations in bank interfaces, fee adjustments, and transaction peaks. This can easily cause routing congestion in high-concurrency scenarios. Secondly, imbalanced quota management undermines the rationality of quota planning, leading to excessive occupation or waste of high-quality channel resources, and directly impacts the scientific formulation of pricing strategies for the following month. Summary of the Invention

[0003] This disclosure provides a method and system for fund routing matching to improve the efficiency of fund routing matching.

[0004] According to a first aspect of this disclosure, a fund routing matching method is provided. The method includes:

[0005] Obtain the user's request, which includes loan amount information, term information, and geographical information;

[0006] Match a set of lending institutions based on the aforementioned geographical information;

[0007] Calculate the dynamic priority score of each lending institution in the set of lending institutions, where the lending institution refers to a licensed financial entity that provides funds to the platform and completes the lending. The dynamic priority score is determined based on the lending institution's quota plan completion rate, funding cost, approval rate prediction, and failure probability.

[0008] The loan request is sent to the first lending institution, which is the lending institution with the highest dynamic priority score in the set of lending institutions;

[0009] Obtain the first processing result from the first lending institution based on the loan request;

[0010] The loan will be disbursed based on the first processing result.

[0011] According to a second aspect of this disclosure, a funds routing matching system is provided. The system includes:

[0012] The loan request acquisition module acquires the user's loan request, which includes amount information, term information, and geographical information.

[0013] The matching module matches a set of lending institutions based on the geographical information;

[0014] The dynamic priority score calculation module calculates the dynamic priority score of each lending institution in the set of lending institutions. The lending institution refers to a licensed financial entity that provides funds to the platform and completes the lending. The dynamic priority score is determined based on the lending institution's quota plan completion rate, funding cost, pass rate prediction, and failure probability.

[0015] The sending module sends the loan request to the first lending institution, which is the lending institution with the highest dynamic priority score in the set of lending institutions;

[0016] The first processing result acquisition module acquires the first processing result of the first lending institution based on the loan request;

[0017] The fund disbursement module performs fund disbursement operations based on the first processing result.

[0018] According to a third aspect of this disclosure, an electronic device is provided. The electronic device includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the program to implement the method described above.

[0019] According to a fourth aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the method according to a first aspect of this disclosure.

[0020] It should be understood that the description in the Summary of the Invention is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0021] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. The drawings are provided for a better understanding of the invention and are not intended to limit the scope of this disclosure. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0022] Figure 1 A schematic diagram of an exemplary operating environment in which embodiments of the present disclosure can be implemented is shown;

[0023] Figure 2 A flowchart of a fund routing matching method according to an embodiment of the present disclosure is shown;

[0024] Figure 3 A block diagram of a funds routing matching system according to an embodiment of the present disclosure is shown;

[0025] Figure 4A schematic block diagram of an electronic device used to implement the funds routing matching method of embodiments of the present disclosure is shown. Detailed Implementation

[0026] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

[0027] Furthermore, the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0028] In this disclosure, a method is used to calculate the dynamic priority score of lending institutions based on quota plan completion, funding costs, approval rate prediction, and failure probability, and to prioritize sending loan requests to the lending institution with the highest dynamic priority score. This method can predict traffic in real time and automatically adjust funding priorities, achieving a daily quota error of <1%.

[0029] Figure 1 A schematic diagram of an exemplary operating environment 100 in which embodiments of the present disclosure can be implemented is shown. The operating environment 100 includes a client 102, a platform system 104, and a lending institution system 106.

[0030] Figure 2 A flowchart of a fund routing matching method 200 according to an embodiment of the present disclosure is shown. Method 200 can be... Figure 1 The platform system 104 in the middle is executed. The method includes:

[0031] In box 210, the user's loan request is obtained, and the loan request includes amount information, term information and geographical information;

[0032] In box 220, a set of lending institutions is matched based on the geographical information;

[0033] In box 230, the dynamic priority score of each lending institution in the set of lending institutions is calculated. The lending institution refers to a licensed financial entity that provides funds to the platform and completes the lending. The dynamic priority score is determined based on the lending institution's quota plan completion rate, funding cost, approval rate prediction, and failure probability.

[0034] In box 240, the loan request is sent to the first lending institution, which is the lending institution with the highest dynamic priority score in the set of lending institutions;

[0035] In box 250, the first processing result of the first lending institution based on the loan request is obtained;

[0036] In box 260, the fund disbursement operation is performed based on the first processing result.

[0037] In boxes 210 and 220, the first step is to perform a geographic filter: matching the user's GPS location and ID card registration location to a set of lending institutions, S1. These lending institutions are licensed financial entities that provide funds to the platform and complete the loan disbursement, including at least: trust plans / asset management plans, commercial bank consumer loan quotas, licensed consumer finance companies, and internet micro-loan companies. The funds provided by these lending institutions can be collectively referred to as general funds, which have relatively low funding costs.

[0038] Each lending institution corresponds to an independent "funding party" record in the system, with independent attributes such as limit, cost, approval rate, and daily loan amount.

[0039] 1. First, perform traffic forecasting: Using the Holt-Winters seasonal model, input the hourly routing volume over the past 30 days, and output the predicted traffic volume P for lending institutions in the next 24 hours. (i,t) Where i is the institution ID (funder_id), corresponding to a specific funder in set S1; t is the time index, in hours (0 ≤ t < 24), representing the t-th hour of the day.

[0040] Holt-Winters is an exponential smoothing method in time series forecasting, specifically designed for data that exhibits both trend (T) and seasonality (S). It decomposes the series into three components: level, slope, and season, and applies exponentially weighted updates to each component to extrapolate future values. Because the update formula only uses single-step error and a smoothing constant, it naturally supports online rolling learning, making it ideal for scenarios requiring real-time forecasting, such as finance, inventory, and web traffic.

[0041] This disclosure uses Holt-Winters parameters for updating, as follows:

[0042] For each hour t:

[0043] Error et = Observed value – Predicted value

[0044] Level L_t = L_{t-1} + η·et

[0045] Trend T_t = T_{t-1} + η·et

[0046] Season S_t = S_{t-τ} + η·et (τ=24).

[0047] An online gradient descent method is used, with the horizontal, trend, and seasonal components updated every hour, and a learning rate η=0.15. That is, every hour, after subtracting the predicted value from the actual value to obtain the error, the horizontal, trend, and seasonal values ​​are all directly added to "error × 0.15" for dynamic adjustment.

[0048] 2. Then, implement the quota plan: automatically break down the monthly loan amount M into daily quotas Di = M·Ri based on historical proportions, with manual fine-tuning supported. The decomposition principle is as follows: based on the actual loan proportion Ri of the same institution and the same calendar day over the past 12 months, the monthly total M is split into daily quotas Di, first using historical data, then smoothing, then manual fine-tuning, and finally resetting to ensure that the total amount remains unchanged, there are no daily spikes, and there is no collapse during holidays.

[0049] 3. Implement automatic quota allocation: calculate completion rate G at the hourly level. (i,t) = Actual / Planned; when G (i,t) When the percentage is less than 90% or greater than 110%, the priority adjustment algorithm is triggered to dynamically generate a new fund ranking.

[0050] Then, based on the above, we obtain P. (i,t) and G (i,t), And a dynamic priority score is calculated based on failure rate and cost of capital. (i,t), This refers to the dynamic priority score of institution i in hour t. The system attempts to lend money in descending order of this score. In other words, loan requests are sent sequentially to each lending institution in S1, with either a direct success or a complete rejection.

[0051] Press Score within S1 (i,t) Descending order routing; if successful, the loan is disbursed.

[0052] Principles of approval:

[0053] The loan approval principle is: payment is stopped upon successful deduction and three-stage confirmation.

[0054] 1. Funding side: The institution returns a clear "loan successful" status code (e.g., 0000), and the core accounts have already deducted the user's available credit limit;

[0055] 2. Payment channel side: The payment channel returns "settled" or "payment successful", and the bank's receipt file / interface contains a success indicator;

[0056] 3. Platform side: After the transaction is recorded in the database, the T+0 accounting is completed, and the user's terminal displays "Received", triggering the generation of the subsequent repayment plan.

[0057] If 1+2+3 are satisfied simultaneously, the system immediately terminates the current round of routing, and it is recorded that institution i successfully disbursed the loan in hour t; if any link returns failure / processing / timeout, it is judged as "not approved", and the system continues to try the next institution in the Score order until the loan is successfully disbursed or all are "not approved".

[0058] According to embodiments of this disclosure, lending institutions with dynamic priority scores are prioritized for routing. The higher the dynamic priority score, the higher the lending efficiency of the lending institution, resulting in faster matching and disbursement.

[0059] In some embodiments, when the first processing result is a loan rejection, the method for performing the loan disbursement operation based on the processing result further includes:

[0060] Generate a rejection reason based on the first processing result;

[0061] When the reason for rejection is: abnormal bank card, insufficient available credit limit of bank card, or inconsistent account information, the user is notified through the messaging channel to correct the information and the revised loan request is resent to the first lending institution.

[0062] Obtain the second processing result from the first lending institution based on the modified loan request;

[0063] When the second processing result is a loan rejection, the loan request is sent to a second lending institution, which is the lending institution with the highest dynamic priority score after excluding the first lending institution from the set of lending institutions.

[0064] This public disclosure constructs a large model training set: using 3 million rejection text data from multiple sources (institutional return codes, bank return codes, user-side anomalies) accumulated over 180 days, a 6-layer Transformer model is trained. The model transforms the text into a 32-dimensional feature vector, and then uses the Softmax function to achieve automatic classification of 12 types of rejection reasons.

[0065] Institutional return code: The rejection code returned by the cooperating institution (such as a third-party credit reporting platform or payment channel) (e.g., the code corresponding to "credit overdue").

[0066] Bank return code: Rejection code returned by the bank system when processing business (such as loan application, credit card approval) (such as the code corresponding to "insufficient credit limit" or "identity verification failure").

[0067] User-side anomalies: Abnormal text records from user operations (such as descriptions like "incorrect information" or "expired document").

[0068] In addition, this disclosure also adopts a large model loss function: L = α·CrossEntropy + β·FocalLoss(γ=2) + λ·CenterLoss, to solve the problem of extreme sample imbalance (the abnormal class of bank cards accounts for only 0.7%).

[0069] Wherein, α is the cross-entropy loss weight, which is used to ensure the correctness of the basic classification. Its value range is [1.08, 1.20], and this scheme uses 1.0.

[0070] β is the Focal Loss weight, which is used to suppress easily classified samples and focus on difficult / rare classes. Its value range is [1.0, 3.0], and this scheme uses 2.0.

[0071] λ is the Center Loss weight, which is used to cluster similar features more compactly and alleviate inter-class imbalance. Its value range is [0.01, 0.1], and this scheme uses 0.05.

[0072] The triple loss function in this embodiment enables the model to pick out 0.7% of rare abnormal samples, such as abnormal bank cards, from 99.3% of normal samples.

[0073] After training with a large model, 12 rejection reasons were obtained, as follows:

[0074] 1. Bank card abnormalities (frozen / lost / expired);

[0075] 2. Insufficient available credit (exceeding the limit for a single card / day / transaction);

[0076] 3. Account information is inconsistent (name, ID card number, and mobile phone number do not match);

[0077] 4. The credit line granted to the lender for the day has been exhausted;

[0078] 5. Rejection due to investor risk control score (including low third-party credit score);

[0079] 6. The user is on the anti-fraud blacklist;

[0080] 7. Repeated credit granting (multiple applications to the same institution on the same day);

[0081] 8. Network timeout / 502 / 504 (system error);

[0082] 9. The bank card has not been activated for UnionPay payment;

[0083] 10. The user's age or occupation does not meet the product's access requirements;

[0084] 11. Regional restrictions (GPS or ID card location is not on the whitelist);

[0085] 12. Other reasons for not being categorized.

[0086] Among them, categories 1–3 are "can be rerouted" (can be retried after changing the card / correcting the information); categories 4–7 are "cannot be retried today"; and categories 8–12 are "requires manual or post-loan follow-up".

[0087] The embodiments of this disclosure can achieve real-time attribution: a reason code is returned within 10 ms for a rejection event and written to Kafka to trigger secondary routing or user outreach.

[0088] Here, Kafka refers to Apache Kafka, an open-source distributed stream processing platform that acts as an "enterprise-grade message bus." In the context of a data routing system, its role can be summarized as follows: "Rejection reason codes are treated as messages and sent to Kafka within 10 ms. Downstream 'secondary routing services' and 'SMS delivery services' immediately consume and process these messages, achieving asynchronous, high-throughput, and low-latency cascading responses."

[0089] Secondary routing is not the same as user reach; the two are two automated action chains that can be performed in parallel or selectively after a "rejection event".

[0090] This public disclosure can achieve secondary routing, that is, without changing the institution, only changing the "channel elements" and immediately running the routing engine again, striving to successfully disburse the loan on the same day. The system site includes an entry for "one-click data correction".

[0091] The triggering conditions for secondary routing are: the attribution code ∈ {bank card abnormality, insufficient credit limit, network timeout} and the user is still within the validity period.

[0092] For example, reminding users to change to a different bank card; reducing the credit limit to within the single transaction limit of the channel; or switching to the lending institution's backup channel (gateway 2).

[0093] The result of the execution is: if the retry is successful, the loan is disbursed normally; if it still fails, a failure state is written, and the third routing is not performed.

[0094] According to embodiments of this disclosure, the "card replacement-retry" strategy relies on which the success rate of recovering bank card failures due to anomalies is increased by 28%.

[0095] In some embodiments, when the first processing result is a loan rejection, the step of performing the loan disbursement operation based on the processing result specifically includes:

[0096] When the rejection reason is indicated as a problem with the first lending institution, the loan request is sent to the second lending institution, which is the lending institution with the highest dynamic priority score after excluding the first lending institution from the set of lending institutions. If the problem is with the first lending institution, such as the lender having exhausted its daily credit limit or the lender's risk control score rejecting the request, the loan request can be directly sent to the next lending institution without secondary routing until the loan is successfully disbursed.

[0097] In some embodiments, when all the lending institutions in the set of lending institutions reject the modified loan request, the loan request is sent to a high-cost funding institution.

[0098] If all lending institutions in S1 refuse to lend, the loan request will enter the backup pool S2 (collection), where high-cost funds will be used, and the reason code for rejection will be recorded.

[0099] The meaning of "safety net":

[0100] The S2 safety net pool is a high-cost, high-approval-rate, and ample emergency funding pool specifically reserved by the platform as the "last line of defense" for loan disbursement. Its main components include: proprietary funds, affiliated trusts, high-interest microloans, subordinated ABS tranches, and institutional "end-of-line" quotas. It typically consists of 2-4 entities and is mutually exclusive with the S1 pool (they will not appear simultaneously in S1); its annualized interest rate is on average higher than that of S1.

[0101] High-cost funding is triggered only when all lending institutions in S1 reject the loan and "secondary routing" still fails, in order to improve the matching rate. Loans are then tried one by one in ascending order of availability until successful or all loans are rejected. If a loan is successfully disbursed, the system still marks it as "backup successful" for subsequent cost accounting and limit recovery.

[0102] In some embodiments, it also includes:

[0103] When the reasons for rejection are: the credit limit granted by the funder for the day has been exhausted, the funder's risk control score has rejected the application, the user has been blacklisted, or the credit has been granted repeatedly, the user will be informed through the messaging channel to wait for the credit limit to be available the next day.

[0104] In the embodiments of this disclosure, when the system determines that "automatic retry is not possible on the same day," it informs the user via a message channel to correct the information themselves or wait for the quota to be available the next day. For example, the system may prompt the user: "Today's quota has been exhausted, try again at 09:00 tomorrow."

[0105] Result: After the user completes the correction as instructed, they can re-initiate the loan process (which will be considered a new order and will not go through a second routing process).

[0106] In some embodiments, it also includes:

[0107] When the reason for rejection is: system error, bank card not having UnionPay payment function activated, user's age or occupation not meeting product access or regional restrictions, a prompt message is generated, indicating that the loan request requires manual or post-loan follow-up.

[0108] The embodiments disclosed herein automatically identify loan requests that cannot be modified online and then process them using corresponding measures, thereby improving work efficiency.

[0109] In some embodiments, the method further includes:

[0110] If the cumulative loan amount of the first lending institution on that day exceeds the daily limit, then the interface for loan requests from the first lending institution will be closed.

[0111] If the percentage of "system error" responses from the first lending institution exceeds 30% for 5 consecutive minutes, the priority level of the first lending institution will be reduced.

[0112] This disclosure enables closed-loop control, specifically:

[0113] a. Automatic start / stop when exceeding limit: If the daily cumulative limit of institution i exceeds the daily limit Li, the entry point will be automatically closed and traffic will be switched to the next best institution;

[0114] b. Automatic maintenance in case of anomalies: If the percentage of 502 / 504 (system fault codes) returned by the organization for 5 consecutive minutes is greater than 30%, the system will automatically degrade and issue an alarm.

[0115] c. Post-loan linkage: If the user's repayment card is abnormal, the routing blacklist will be updated synchronously, and the card will be prohibited from being used again within 24 hours.

[0116] The "automatic downgrade" here refers to instantly lowering the real-time routing level of the lending institution, rather than manually changing the configuration in the backend. Each institution in the system has a dynamic routing level (runtime_level), which is divided into:

[0117] -L0 is normal (default Score weight is 100%)

[0118] -L1 downgrade (privileges reset to 0, traffic is switched, but daily quota is not cleared).

[0119] -L2 circuit breaker (resets to 0, immediately releases used credit, and will not be activated again on the same day)

[0120] Triggering rules: The default level for each lending institution is normal L0. If the percentage of 502 / 504 errors exceeds 30% for 5 consecutive minutes, it will be downgraded to L1. If it still cannot recover within 15 minutes, it will be downgraded to L2. If the fault recovery probe (HTTP probe) is normal 3 times in a row, it will be automatically upgraded to L0.

[0121] It should be noted that after the level is downgraded, all new requests will no longer be routed to that institution; however, orders that are already in progress will continue to await results and will not be forcibly stopped.

[0122] According to the embodiments of this disclosure, "automatic start-stop when exceeding limits, automatic downgrade when malfunctioning, and post-loan anomaly linkage" can be achieved, realizing zero human intervention.

[0123] In some embodiments, the dynamic priority score is calculated using the following formula:

[0124] Score (i,t) =w1(1-G (i,t) )+w2C (i,t) +w3P (i,t) +w4F (i,t) ;

[0125] Among them, Score (i,t) G represents the dynamic priority score of lending institution i within hour t. (i,t) C represents the completion rate of the quota plan for lending institution i within hour t. (i,t) P represents the funding cost for lending institution i in t hours. (i,t) For the loan institution i, the approval rate is predicted in t hours. (i,t) Let w1 be the failure probability of lending institution i in t hours, with w1 ranging from [1.08, 1.20], w2 ranging from [0.69, 0.77], w3 ranging from [0.64, 0.72], and w4 ranging from [0.42, 0.48].

[0126] The process of determining the data for w1-w4 involves: offline Bayesian optimization + online freezing + quarterly review. The specific steps are as follows:

[0127] ① Define the hyperparameter search space

[0128]

[0129] ② Objective function

[0130] Take 30 days of historical data, calculate the daily score using w and perform routing, simulate loan disbursement, and return the overall loss L.

[0131] ③ Bayesian optimization process

[0132] 1. Initialization: Latin Hypercube samples 40 groups of data;

[0133] 2. Gaussian process regression (GP) fits the objective function;

[0134] 3. Acquisition function: EI (Expected Improvement), ξ=0.01;

[0135] 4. Iterate 60 times (100 sets in total);

[0136] 5. Take the w corresponding to the minimum L as the optimal solution.

[0137] ④ The optimal result is as follows:

[0138]

[0139] ⑤ Online freezing and review

[0140] - Lock: Write 'w' into the configuration center, and it will take effect upon release.

[0141] - Monitoring: Daily playback to verify L value; automatic alarm if drift > 5%.

[0142] - Quarterly review: Run ③ again. Only replace if w causes L to decrease by ≥3%. Otherwise, continue to use the old value.

[0143] In summary, the process of determining w1-w4 is now complete.

[0144] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this disclosure is not limited to the described order of actions, because according to this disclosure, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this disclosure.

[0145] Example:

[0146] User Zhang San initiated a 12-month loan of 5,000 yuan on December 8, 2024 at 14:03:27. The system completed the entire process of "traffic prediction → quota breakdown → scoring and sorting → routing → attribution → secondary routing → closed-loop control". The following is presented in chronological order, with judgment criteria and data changes given for each step. All letters are explained the first time they appear.

[0147] Step 0: Input Data

[0148] Timestamp t=14 (2 PM, 24-hour format), User uid=U123456, Application amount A=5000 yuan, Term M=12 periods, GPS coordinates (lat, lon)=(31.2304, 121.4737)→Huangpu District, Shanghai, First 6 digits of ID card id6=310115→Pudong New Area, Shanghai

[0149] Generate request REQ={U123456, 5000, 12, 31.2304, 121.4737, 310115}

[0150] Step 1: Regional Filtering

[0151] Judgment criteria: a) The gps_region polygon contains (31.2304, 121.4737); b) The idc_region contains 310115. If both conditions are met, it is included in set S1.

[0152] Data changes: S1=[F001, F002, F005] (F001=Trust 001, F002=Consumer Finance 002, F005=Microloan 005). The remaining F003 / F004 were removed because they only apply to Jiangsu, Zhejiang and Anhui provinces.

[0153] Step 2: Traffic Forecasting (Holt-Winters)

[0154] Define the historical period as k=24 and the learning rate as η=0.15.

[0155] The state of the previous hour, t-1=13:

[0156] L{t-1}=12100 (Level);

[0157] T{t-1}=45 (Trend);

[0158] S{t-1}=-380 (Season, index(t-1)%24=13);

[0159] Observed value y_t=12450 (actual total routing volume at 13 points);

[0160] Error e_t = y_t - (L{t-1} + T{t-1} + S{t-1})

[0161] =12450-(12100+45-380)=685.

[0162] renew:

[0163] L_t = L{t-1} + T{t-1} + η·e_t;

[0164] =12100 + 45 + 0.15 × 685 = 12242.75

[0165] T_t=T{t-1}+η·e_t=45+0.15×685=147.75;

[0166] S_t=S{t-1}+η·e_t=-380+0.15×685=-277.25 (S 13 ).

[0167] 14-point prediction (h=1):

[0168] P{t+1|t}=L_t+T_t+S{(t+1)%24}

[0169] =12242.75+147.75+(-200) (-200 is not the value calculated this time, but the latest stock value S corresponding to point 14 in the seasonal array) 14 It will only be updated once during the hour when t = 14. If this is the first prediction after a cold start, then S 14 It is initialized using the average of the previous 7 days; otherwise, it is the value left over from the previous round at t=14).

[0170] =12190.5≈12191 transactions / hour.

[0171] The system extracts the institution-level flow forecast Pt,i based on the historical proportion of each institution:

[0172] Pt,F001=5250, Pt,F002=4100, Pt,F005=2841.

[0173] The historical percentages for each institution are determined based on the proportion of the total amount accounted for by each institution over the past 12 months; these are fixed values ​​calculated in advance. In this case, F001, F002, and F005 are 0.43, 0.35, and 0.22, respectively.

[0174] Step 3 Quota Planning and Completion Rate

[0175] The monthly total amount M = 600 million yuan, and the historical proportion of institution F001 R_F001 = 0.43 → daily quota, that is, D_F001 = M·R_F001 / 30 = 600000000 × 0.43 / 30 = 8600000 yuan.

[0176] At 2 PM, Cum_F001 = 7,985,000 yuan had been used.

[0177] Completion degree G{i, t}=Cum{i, t} / D_i=7985000 / 8600000=92.85%.

[0178] Similarly: G{F002, t} = 78.3%; G{F005, t} = 110.2% (exceeded the limit, the system sets G=1 to participate in the calculation).

[0179] Step 4: Dynamic scoring Score{i, t}

[0180] Weights (offline Bayes optimal): w1=1.14, w2=0.73, w3=0.68, w4=0.45.

[0181] Institutional real-time indicators:

[0182] Cost of funds (annualized interest rate) C{i,t}: C{F001}=8.2%, C{F002}=9.1%, C{F005}=12.5%.

[0183] P{i,t} pass rate prediction (random forest output); P{F001}=0.78, P{F002}=0.65, P{F005}=0.53.

[0184] F{i,t} Fault probability (5min 502 / 504 ratio); F{F001}=0.02, F{F002}=0.00, F{F005}=0.01.

[0185] According to the formula: Score (i,t) =w1(1-G (i,t) )+w2C (i,t) +w3P (i,t) +w4F (i,t) calculate:

[0186] Score{F001}=1.14×(1-0.9285)+0.73×8.2+0.68×0.78+0.45×0.02

[0187] =0.0815+5.986+0.5304+0.009=6.607;

[0188] Score{F002}=1.14×0.217+0.73×9.1+0.68×0.65+0.45×0

[0189] =0.247+6.643+0.442+0=7.332;

[0190] Score{F005}=1.14×0+0.73×12.5+0.68×0.53+0.45×0.01

[0191] =0+9.125+0.3604+0.0045=9.490.

[0192] The dynamic scores are sorted in descending order as follows: F005 > F002 > F001.

[0193] Therefore, the routing order is: first F005, then F002, and finally F001.

[0194] Step 5: First routing request

[0195] Request body: req_body={uid:U123456,amount:5000,period:12,card_bin:622202};

[0196] Call F005 / gateway / pay;

[0197] Return body: {"code":"0001", "msg":"Bank card error", "denialCode":1};

[0198] Judgment: code ≠ 0000 → Reject, proceed to intelligent attribution.

[0199] Step 6 Intelligent Attribution (Large Model)

[0200] Input: Rejection text + Institutional return code + Card BIN.

[0201] Transformer outputs a 32-dimensional vector → Softmax → highest probability class=1 (bank card anomaly).

[0202] Threshold 0.85 → Confidence 0.92 > 0.85 → Reason code dCode = 1, time taken 7ms (<10ms).

[0203] Writing to Kafka:

[0204] topic=loan_denial,key=U123456,value={orderId:O789,dCode:1,retryType:SWITCH_CARD}.

[0205] Step 7 Secondary Routing

[0206] Consume Kafka → Secondary routing service;

[0207] Action: Change card (username 622848) → Regenerate request REQ2;

[0208] The amount / term remains unchanged, card_bin=622848;

[0209] Call F005 / gateway / pay again;

[0210] Returns: {"code":"0000","msg":"SUCCESS","loanId":"L2024120814032700001"};

[0211] Judgment: code=0000 → Success.

[0212] The routing process has ended.

[0213] Step 8 Closed-loop control

[0214] 1. Quota update

[0215] Cum_F005 += 5000 → The new value is recorded in Redis;

[0216] Daily inspection limit: L_F005 = 9,000,000;

[0217] If Cum_F005≥L_F005→automatically set runtime_level=L1 (close entry point), this was not triggered this time.

[0218] 2. Fault monitoring

[0219] F005's percentage of 502 / 504 in the last 5 minutes is 1% < 30% → No downgrade.

[0220] 3. Post-loan coordination

[0221] The repayment card is the same as the loan card, and there are no abnormalities → the blacklist will not be updated.

[0222] Results Summary: 1. Loan successfully disbursed: RMB 5,000 for 12 installments; 2. Institution using the loan: F005 (Micro-loan 005); 3. Actual cost of funds: 12.5% ​​(higher than F001's 8.2%, but meets the principle of "stopping upon successful secondary routing").

[0223] 4. Total time: 127ms

[0224] 5. User experience: One-time card replacement notification → Instant crediting

[0225] The above is an introduction to the method embodiments. The following describes the solution described in this disclosure further through device embodiments.

[0226] Figure 3 A block diagram of a funds routing matching system 300 according to an embodiment of the present disclosure is shown. Figure 3 As shown, system 300 includes:

[0227] The loan request acquisition module 310 acquires the user's loan request, which includes amount information, term information, and geographical information.

[0228] Matching module 320 matches a set of lending institutions based on the geographical information;

[0229] The dynamic priority score calculation module 330 calculates the dynamic priority score of each lending institution in the set of lending institutions. The lending institution refers to a licensed financial entity that provides funds to the platform and completes the lending. The dynamic priority score is determined based on the lending institution's quota plan completion rate, funding cost, pass rate prediction, and failure probability.

[0230] The sending module 340 sends the loan request to the first lending institution, which is the lending institution with the highest dynamic priority score in the set of lending institutions.

[0231] The first processing result acquisition module 350 acquires the first processing result of the first lending institution based on the loan request;

[0232] The fund disbursement module 360 ​​performs fund disbursement operations based on the first processing result.

[0233] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the described module can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0234] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0235] According to embodiments of this disclosure, this disclosure also provides an electronic device and a readable storage medium.

[0236] The electronic device includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the program to implement the method described above.

[0237] The readable storage medium stores a computer program that, when executed by a processor, implements the method described above.

[0238] Figure 4 A schematic block diagram of an electronic device 800 for implementing the funds routing matching method of embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0239] Device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.

[0240] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0241] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as the funds routing matching method. For example, in some embodiments, the funds routing matching method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the funds routing matching method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the funds routing matching method by any other suitable means (e.g., by means of firmware).

[0242] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0243] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0244] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0245] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0246] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0247] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0248] It should be understood that the various forms of processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0249] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A fund routing matching method, comprising: Obtain the user's loan request, which includes amount information, term information, and geographical information; Match a set of lending institutions based on the aforementioned geographical information; Calculate the dynamic priority score of each lending institution in the set of lending institutions, where the lending institution refers to a licensed financial entity that provides funds to the platform and completes the lending. The dynamic priority score is determined based on the lending institution's quota plan completion rate, funding cost, approval rate prediction, and failure probability. The loan request is sent to the first lending institution, which is the lending institution with the highest dynamic priority score in the set of lending institutions; Obtain the first processing result from the first lending institution based on the loan request; The loan will be disbursed based on the first processing result.

2. The method according to claim 1, wherein when the first processing result is a loan rejection, the step of performing the loan disbursement operation based on the processing result specifically includes: Generate a rejection reason based on the first processing result; When the reason for rejection is: abnormal bank card, insufficient available credit limit of bank card, or inconsistent account information, the user is notified through the messaging channel to correct the information and the revised loan request is resent to the first lending institution. Obtain the second processing result from the first lending institution based on the modified loan request; When the second processing result is a loan rejection, the loan request is sent to a second lending institution, which is the lending institution with the highest dynamic priority score after excluding the first lending institution from the set of lending institutions.

3. The method according to claim 1, wherein the step of performing the loan disbursement operation based on the processing result further includes: When the rejection reason is indicated as a problem with the first lending institution, the loan request is sent to the second lending institution, which is the lending institution with the highest dynamic priority score after excluding the first lending institution from the set of lending institutions.

4. According to claim 2, when all the lending institutions in the set of lending institutions reject the modified loan request, the loan request is sent to a high-cost funding institution.

5. The method according to claim 2, further comprising: When the reason for rejection is: the credit limit granted by the funder for the day has been used up, the funder’s risk control score has rejected the application, the user has been blacklisted or has been granted credit repeatedly, the user will be informed through the messaging channel to wait for the credit limit the next day. When the reason for rejection is: system error, bank card not having UnionPay payment function activated, user's age or occupation not meeting product access or regional restrictions, a prompt message is generated, indicating that the loan request requires manual or post-loan follow-up.

6. The method according to claim 1, further comprising: If the cumulative loan amount of the first lending institution on that day exceeds the daily limit, then the interface for loan requests from the first lending institution will be closed. If the percentage of "system error" responses from the first lending institution exceeds 30% for 5 consecutive minutes, the priority level of the first lending institution will be reduced.

7. The method according to claim 1, wherein the dynamic priority score is calculated using the following formula: Score (i,t) =w1(1-G (i,t) )+w2C (i,t) +w3P (i,t) +w4F (i,t) ; in, Score (i,t) G represents the dynamic priority score of lending institution i within hour t. (i,t) C represents the completion rate of the quota plan for lending institution i within hour t. (i,t) P represents the funding cost for lending institution i in t hours. (i,t) For the loan institution i, the approval rate is predicted in t hours. (i,t) Let w1 be the failure probability of lending institution i in t hours, with w1 ranging from [1.08, 1.20], w2 ranging from [0.69, 0.77], w3 ranging from [0.64, 0.72], and w4 ranging from [0.42, 0.48].

8. A fund routing and matching system, comprising: The loan request acquisition module acquires the user's loan request, which includes amount information, term information, and geographical information. The matching module matches a set of lending institutions based on the geographical information; The dynamic priority score calculation module calculates the dynamic priority score of each lending institution in the set of lending institutions. The lending institution refers to a licensed financial entity that provides funds to the platform and completes the lending. The dynamic priority score is determined based on the lending institution's quota plan completion rate, funding cost, pass rate prediction, and failure probability. The sending module sends the loan request to the first lending institution, which is the lending institution with the highest dynamic priority score in the set of lending institutions; The first processing result acquisition module acquires the first processing result of the first lending institution based on the loan request; The fund disbursement module performs fund disbursement operations based on the first processing result.

9. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.

10. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-7.

11. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-7.