Income Estimators

The Income Estimator predicts the likelihood that a subject belongs to a higher income segment, using behavioral signals derived from their email address. It does not verify actual income or predict an individual's exact monthly earnings. Instead, it returns a probability score that the subject is a high earner, along with a simplified income tier and a reference income range associated with that tier.

Income Estimator is well-suited for pre-screening, customer segmentation, and enriching credit decisioning workflows where verified income documentation is unavailable or impractical to collect.

Income Estimator checks are synchronous: the result is returned immediately in the API response.

📘

Alpha Access

Income Estimator is currently in Alpha. Access is by invitation only. Contact your Smile representative to enable it for your account.


Supported Markets

Template IDMarketRequired Parameters
tpl-incomeestimator-001Philippines (PH)consent, emailAddress, countryCode

How an Income Estimator Request Works

  1. Submit a request using POST /incomes/alpha/incomeestimators. Provide templateId, consent, emailAddress, and countryCode.

  2. Receive the result synchronously. The API returns the complete IncomeEstimator object in the response body. When resultCode is SUCCESS, the result object contains the model outputs.

  3. Evaluate the outputs. Use probability as the primary decisioning signal. tier is a convenience label for segmentation and display purposes. See Interpreting the Outputs below.


The IncomeEstimator Object

Request Object

AttributeTypeRequiredDescription
templateIdstringYesThe template to use. Must be tpl-incomeestimator-001.
consentobjectYesEvidence of the subject's consent. See Consent Templates.
emailAddressstringYesThe subject's email address. Must be a valid email format.
countryCodestringYesISO 3166 alpha-2 country code for the subject's market. Example: PH.

IncomeEstimator Object

This is the object returned in the API response.

AttributeTypeDescription
idstringUnique ID of this IncomeEstimator record. IDs use the prefix iest-.
createdAtdate-timeDate and time when the record was created.
statusstringCurrent processing status. See Statuses below.
resultCodestringFinal result code of the check. See Result Codes below.
resultMessagestringHuman-readable description of the result. null on success.
requestMetaobjectEcho of the original request parameters.
resultobjectThe model outputs. Present only when resultCode is SUCCESS. See Result Object below.

Result Object

AttributeTypeDescription
incomeobjectThe income range and tier associated with the model's prediction. See Income Object below.
probabilitynumberThe model's raw probability (0–1) that the subject is a high earner. Use this as the primary decisioning signal. A higher value indicates a stronger high-income signal.
certaintystringA categorical measure of how far probability is from the model's decision boundary of 0.5. One of: HIGH, MEDIUM, LOW. See Interpreting the Outputs.
modelVersionstringThe version of the model used to produce the result.

Income Object

AttributeTypeDescription
monthlyMinnumberThe lower bound of the income range associated with the predicted tier. In the currency specified by currency.
monthlyMaxnumberThe upper bound of the income range associated with the predicted tier. In the currency specified by currency.
currencystringISO 4217 currency code for the income range values. Example: PHP.
tierstringA convenience label for the predicted income segment. One of: LOW, MIDDLE, HIGH. See Interpreting the Outputs.

Statuses

StatusDescription
PROCESSINGThe check is in progress.
COMPLETEDThe check has completed. Evaluate resultCode for the outcome.
ERRORThe check encountered an error and could not complete.

Because Income Estimator checks are synchronous, responses typically return with status: COMPLETED immediately.


Result Codes

Result CodeDescriptionBillable
SUCCESSThe check completed and model outputs are available in the result object.Yes
NO_DATASmile was unable to generate a prediction for the provided email address.No
SYSTEM_ERRORAn internal error occurred. Contact Smile support if this persists.No
SERVICE_UNAVAILABLEA required service is temporarily unavailable. Retry after a short interval.No
📘

Billing Note

Income Estimator checks are billed on SUCCESS only. NO_DATA results are not charged. Only the POST /incomes/alpha/incomeestimators endpoint counts toward billing — List and View requests are not charged.


Interpreting the Outputs

Probability (Primary Signal)

probability is the model's raw prediction score — the likelihood that the subject is a high earner. It ranges from 0 to 1. Use it as the primary decisioning input.

ProbabilityInterpretation
≥ 0.85Strong high-income signal
0.70 – 0.84Moderate high-income signal
0.50 – 0.69Near the decision boundary
< 0.50Non-high-income signal

Two subjects can receive the same tier while having meaningfully different probability values. For automated decisioning, always use probability directly rather than relying on tier alone.

Recommended thresholds in the table above are illustrative. Calibrate against your organization's risk appetite and historical performance data.

Tier

tier maps the probability score to a simplified income segment. It is intended for customer segmentation, UI display, and portfolio reporting — not for direct use as a decisioning threshold.

TierMonthly Income Reference (PHP)
LOW≤ 17,250
MIDDLE17,251 – 29,250
HIGH> 29,250

Income Range (monthlyMin / monthlyMax)

The income object returns the predefined range boundaries for the predicted tier. These values are not a personalized income estimate — every subject classified into the same tier receives the same monthlyMin and monthlyMax. The range represents the tier boundary, not an individual prediction.

Certainty

certainty measures how far probability is from the model's decision boundary of 0.5. A HIGH certainty means the model's prediction is decisive in either direction — it does not indicate which direction. This can be counterintuitive:

ProbabilityCertaintyMeaning
0.92HIGHModel is very confident the subject is a high earner.
0.51LOWModel prediction is close to the boundary — less decisive.
0.08HIGHModel is very confident the subject is not a high earner.

Use certainty alongside probability to gauge result reliability, not to interpret direction.


What Income Estimator Is Not

Income Estimator is a behavioral prediction tool, not an income verification product. Avoid using it as:

  • An exact prediction of a subject's monthly income
  • A substitute for verified income documentation
  • The sole approval criterion for any lending or credit decision

Sample IncomeEstimator Data

{
  "id": "iest-9ae6f7f14b0640e69c5199c2453d2f92",
  "createdAt": "2026-08-18T06:32:14Z",
  "status": "COMPLETED",
  "resultCode": "SUCCESS",
  "resultMessage": null,
  "requestMeta": {
    "templateId": "tpl-incomeestimator-001",
    "emailAddress": "[email protected]",
    "countryCode": "PH",
    "consent": {
      "type": "Terms And Conditions",
      "version": "1",
      "consentedAt": "2021-04-14T09:30:24Z",
      "consentedWith": "I agree to the terms and conditions.",
      "consentTemplateId": null
    }
  },
  "result": {
    "income": {
      "monthlyMin": 17251,
      "monthlyMax": 29250,
      "currency": "PHP",
      "tier": "HIGH"
    },
    "probability": 0.7388,
    "certainty": "MEDIUM",
    "modelVersion": "1.0.0"
  }
}

Sandbox Testing

Use the following values to trigger a SUCCESS response in the Sandbox environment. Any other valid input combination will return resultCode: NO_DATA.

ParameterTest ValueExpected Response
templateIdtpl-incomeestimator-001
countryCodePH
emailAddress[email protected]resultCode: SUCCESS

Endpoints

Endpoint
Create Income Estimator checkPOST /incomes/alpha/incomeestimators
List Income Estimator checksGET /incomes/alpha/incomeestimators
View an Income Estimator checkGET /incomes/alpha/incomeestimators/{id}