Changing Currency on Site - database

I will be selling products on my site in GBP, however I would like an option for my customers to change currency to dollars and euros. This I know how to do but is there anyway to automatically fetch the data (currency rates) without manually changing it each day.
Also.
To avoid people tampering with the data on PayPal,which means that people can change the price to 1p. I put a security function:
if the price = fixed price then transaction approved.
However as the currency well keep changing is there anyway to get around that as well.

It's a bit of a tricky one.
If you accept payment in other currencies, you firstly have to show the price in that currency; this is not available as a feed or web service from PayPal (as far as I know). There are other feeds which provide this (Google is your friend - "currency conversion feed"), but they will never be exactly the same as PayPal.
The second issue is that - once you have taken payment in that currency - you don't know exactly how much you're going to get back in Pounds - say the sale happens today, but you only withdraw the money next week. The exchange rate could have shifted in that time, making your sale worth less in GBP. This risk could easily eat up your profits - especially in times of financial volatility.
The third issue is that currency conversion costs money - depending on volume and method, somewhere between 2 and 5%.
So, unless you're selling products with a very high margin, I'd be very nervous about taking payment in other currencies unless you can spend in those currencies too; if you can spend the money in foreign currencies, you don't have to pay for the conversion, and you are less exposed to the currency risk.

You can call out to a currency exchange web service.

I would suggest checking with your bank (whoever is behind your e-commerce site), as they may have a free tool for this.
Here is an example from a bank in New York -- it's a web service that will give you the exchange rate for any given date in xml format: http://www.ny.frb.org/markets/pilotfx.html
There is also the Google Finance API
http://code.google.com/apis/finance/docs/2.0/reference.html
This service is not free (I don't think), but looks pretty slick, and gives A LOT of infmormation via web service: http://www.xignite.com/forex/web-service/2000106.html

Related

Life Time Value Model (LTV)... where do I even start?

I recently was picked to lead a longitudinal LTV model for our analytics dept. The final deliverable will be for external stakeholders, so essentially how the users on our platform (can't specify the company) are providing life time value to our external partners.
We'll be building this model from the ground up. We have nothing in place for this currently, just a sea of data (assume very generic assets, e.g. users, sign ups, user interaction with platform, etc.)
So... where do I even start? I've just been reading random docs on google for the time being. Any specific resources that are good? Are there different LTV methodologies? What's the "best" one (please take that with a grain of salt)?
I know this is an extremely broad topic so any answers even loosely related to LTV will hold significant value. Thanks all
I haven't tried anything yet. Just reading up on a few resources.
First thing you want to do is lay out the reasoning for having LTV. What's it's gonna be used for and by whom. I'll give some examples, but your industry and your business will have to have it tailored to them.
Next, you have series of meetings with all the stakeholders so that they would agree on a good definition for LTV under a tight guidance of someone who understands the data, or at least what dimensions have to influence it and what format it has to be in.
An example would be: you have an app that offers seven products. The first two products are freebies. Another requires an email to get. The fourth product is just one buck per month, the fifth costs a hundred, but one-time payment, the sixths is 20$/month and the final product is an enterprise/b2b level solution.
An arbitrary model would be to have something like:
No products (guests) => LTV = 0
Product 1 => LTV + 1
Product 2 => LTV + 1
Product 3 => LTV + 3
Product 4 => LTV + 10/month of subscription
Product 5 => LTV + 1000
Product 6 => LTV + 200/month of subscription
Product 7 => LTV + 10k/month of subscription
Then the LTV stakeholders, - mainly business owners and PMs refine the model depending on what kinds of analysis they need conducted typically. That basically depends on what and how they report to their executives or the board.
This is if you want to go with a simple integer as an LTV. Most commonly used for weighting users. Going with integer is a very comfortable starting point since it allows for easy mathematical aggregations. Just to make your user-based analysis more robust. Say, you found out that 2% of your users encounter certain issue that blocks them from navigating somewhere or finishing a process. How should it be prioritized? Should it just be ignored? Should it be addressed immediately?
Well that depends on who those users are. If they're just free users or even just guests and the error is not blocking them from product onboarding, then it's worth to get the ticket to the backlog, but realistically it won't get released any time soon if ever.
However, if those users are enterprise customers, then the issue not only has to be hotfixed. It has to be hotfixed immediately. Probably paying overtime to the devs, qa and devops to work till late today.
Generally, LTV should be a user-level dimension. There are implementations of it as a session-level, but it's way more difficult.
From the technical standpoint, LTV is most commonly implemented on the tracking stage, so commonly in a TMS, say, GTM by a tracking specialist.
Another way it's implemented is in or after ETL, by the data engineers or data scientists.

How can we bring currencies to record level

Can you please explain how can we bring the manage currencies to record level. It was changing daily so can you please explain how it was being changed and how is it used in record level.
Your question is poorly worded. An opportunity that's worth €1000 and nobody edits it will still be worth €1000 tomorrow. What can change daily is currency exchange rate to $, £...
You can enable currency management (if not done already) which causes CurrencyIsoCode picklist to appear in every table. And then -if you really need to keep info what the price was at specific point in time - you can add support for "dated currency rates" on top of that. There are some considerations that out of the box the exchange rate recalculates only on Opportunity & related object. For your custom objects you'll need to write a nightly (hourly?) batch for example.
Once you're sure that dated rates is what you need (because maybe you need just the basic version with 1 current exchange rate) look into an integration that would periodically contact some currency exchange info server and write to either CurrencyType or DatedConversionRate

How can I get number of API transactions used by Watson NLU?

AlchemyLanguage used to return the number of API transactions that took place during any call, this was particularly useful when making a combined call.
I do not see the equivalent way to get those results per REST call.
Is there any way to track or calculate this? I am concerned about things like some of the sub-requests like when you ask for sentiment on entities does that count as two, or one plus an additional call per recognized entity?
There's currently no way to track the transactions from the API itself. To track this (particularly for cost estimates), you'll have to go to the usage dashboard in Bluemix. To find it: sign in to Bluemix, click Manage, then select Billing and Usage, and finally select Usage. At the bottom of the page you'll se a list of all your credentialed services. Expanding any of those will show the usage plus total charges for the month.
As far as how the NLU service is billed, it's not necessarily on a per API request as you mentioned. The serivce is billed in "units" and from the pricing page (https://console.ng.bluemix.net/catalog/services/natural-language-understanding):
A NLU item is based on the number of data units enriched and the
number of enrichment features applied. A data unit is 10,000
characters or less. For example: extracting Entities and Sentiment
from 15,000 characters of text is (2 Data Units * 2 Enrichment
Features) = 4 NLU Items.
So overall, the best way to understand your transaction usage would be to run a few test requests and then check the Bluemix usage dashboard.
I was able to do a simple test, and made calls to a set of highlevel features and included sub-features. And it appeared to only register calls for the highlevel features.

Is there a way to add to the balance on a GAE-app?

My problem is that i keep getting small incremental withdraws on my creditcard, which is fine - but since i run a company i need to book all those micropayments. Which ends up to be hours of work (finding, printing, put in my cover etc) each month.
I'd rather just add $100 or so to the balance and deal with just the one charge.
This seems like a "must have"-feature, especially since the terminology "balance" is used on the "Billing history"-page. But i cannot seem to find where to add money.
Is it possible?

alert box through validation

Is it possible with cakePHP 2.0 to have a field validated based on two other fields and still allow the user to go through with the submit?
Something like this, I have a form that has rate, term and credit tier. The rate is usually based on the term and credit tier like this, a credit tier of B and a term of 60 months will have a rate of 6.75%. But there will be instances where I want to have a rate of 5.25% for this same tier and term. Is there a way to alert the user that the rate does not match the tier and term combination but still allow the user to submit the rate the way it is? The rate, term, and tier will be stored in the database so that it can easily be changed as rates change.
Sure - in your model, define your own validation method and crunch your numbers in there. It might be better to pass your data in with $this->Form->hidden() than call other models while validating.

Resources